dedlfix: AJAX - JSON.stringify - Sonderzeichen

Beitrag lesen

Tach!

Ne, ich kann das beim Besten Willen nicht nachvollziehen. Da muss er schon irgenwas ganz Dummes gemacht haben, was an jeglichen Standards vorbeigegangen ist. Du kannst das gerne mal etwas näher beschreiben, falls Du den seine Probleme nachstellen konntest.

Erstell einen Ajax-Request ohne Content-Type-Angabe oder nimm den Standard-Wert application/x-www-form-urlencoded. Sende als Payload sowas wie data=... und da dann ohne Prozentkodierung ein paar Daten mit den Zeichen & und +.

Lass diese am Ziel dekodieren. Das & wird als Trennzeichen zwischen Feldnamen (wie das data hier) erkennt und an der Stelle geht der Rest verloren, weil er am Ziel nicht in $_POST['data'] auftaucht. +-Zeichen werden zu Space dekodiert.

<?php
header('Content-Type: text/plain;Charset=UTF-8');
$_POST = json_decode(file_get_contents('php://input'));
print_r($_POST);
?>

Die Zuweisung an $_POST ist Quatsch, so funktioniert PHP nicht. Wenn man sich die Daten schon selbst aus stdin holt, kann man sich gleich in einer eigenen Variable ablegen und muss nicht $_POST zumüllen.

dedlfix.