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.
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.