Senden von JSON-Daten über JQuery ajax.post an PHP
Ich sende Daten an eine PHP-Datei über AJAX mit POST. Es hat gut funktioniert, nur Strings zu senden, aber jetzt wollte ich mein JS-Objekt mit JSON senden und es auf PHP-Seite dekodieren.
In der Konsole kann ich sehen, dass meine Daten korrekt übermittelt wurden, aber auf der PHP-Seite gibt json_decode NULL zurück.
Ich habe Folgendes versucht:
this.getAbsence = function()
{
alert(JSON.stringify(this));
jQuery.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "ajax/selectSingle.php?m=getAbsence",
data: JSON.stringify(this),
success : function(data){
alert(data);
}
});
}
PHP:
echo $_POST['data'];
echo json_decode($_POST['data']);
echo var_dump(json_decode($_POST['data']));
Und:
this.getAbsence = function()
{
alert(JSON.stringify(this));
jQuery.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "ajax/selectSingle.php?m=getAbsence",
data: {'Absence' : JSON.stringify(this)},
success : function(data){
alert(data);
}
});
}
PHP:
echo $_POST['Absence'];
echo json_decode($_POST['Absence']);
echo var_dump(json_decode($_POST['Absence']));
Die Warnung war nur zu überprüfen, ob alles in Ordnung ist ...
Und ja, die übliche Zeichenfolge wurde korrekt wiedergegeben :-)