pl: AJAX - JSON.stringify - Sonderzeichen

Beitrag lesen

Tach!

Ich vermute, dass der serverseitige Parser nicht das macht was Du erwartest. Also prüfen.

Das ist alles Standard-Krams.

So!? Wie verarbeitet denn der PHP-Parser einen Content-Type: application/json? Falls der überhaupt gesendet wurde -- das wäre die nächste Frage.

Welchen PHP-Parser meinst du? Die Funktion json_decode() nimmt einen String entgegen. Ein Content-Type spielt dabei keine Rolle. Da muss nur ein gültiger JSON-String übergeben werden.

Guck mal

Mein Parser kann mit dem Content-Type umghen, die Response sieht dann so aus:

$VAR1 = bless( {
                 'CONTENT_TYPE_ORIGIN' => 'application/json',
                 'rawdata' => '',
                 'STDIN' => bless( \*Symbol::GEN2, 'IO::String' ),
                 'CONTENT_TYPE' => 'application/json',
                 'eav' => {},
                 'CONTENT_LENGTH' => 47,
                 'param' => {
                              'foo' => 1
                            },
                 'QUERY_STRING' => '',
                 'json' => {
                             'param' => $VAR1->{'param'},
                             'arr' => [
                                        'foo',
                                        'bar+',
                                        'baz&'
                                      ]
                           }
               }, 'xCGI' );

Nur mal als Beispiel. Dass '&' und '+' u.a. Zeichen nicht korrekt übertragen werden, halt ich fürn Gerücht. Selbst wenn der Parser den Content-Type nicht kennt, sollte der Orininal-JSON-String in STDIN zu finden sein bei einem POST.