Abrufen von Daten aus Ajax-POST-request in PHP?
Ich bin versucht, senden Sie eine POST-Anfrage mit Ajax, aber ich habe Probleme dabei, die gesendeten Werte in PHP. Hier ist mein JavaScript code:
$.ajax({
url: "updatedata.php",
type: 'post',
data: JSON.stringify(jsonData),
contentType: 'application/json',
dataType: 'json',
success: function(data, status, xhr)
{
//...
}
});
Und ich möchte Zugriff auf die Daten mit PHP. So etwas wie das?
$data = $_POST['data'];
Meine Daten:
{"UID":"00a3b1b0-03b4-11e1-be50-0800200c9a66","Firstname":"Bastian","Lastname":"Sander","UserPenaltys":{"Penalty1":"110","Penalty10":"200","Penalty11":"210","Penalty12":"220","Penalty13":"230","Penalty14":"240","Penalty15":"250","Penalty16":"260","Penalty2":"120","Penalty3":"130","Penalty4":"140","Penalty5":"150","Penalty6":"160","Penalty7":"170","Penalty8":"180","Penalty9":"190"},"PenaltyCounter":16}
Habe ich versucht, dieses:
$.post("updatedata.php", JSON.stringify(UserData), function (data) {
}, "json");
Aber $_POST['Firstname']
leer ist...
Sie wollen zum Parsen von JSON mit PHP, so überprüfen Sie einfach Google und Sie finden: webhole.net/2009/08/31/how-to-read-json-data-with-php
Eine
PHP wird nicht ausgeführt, der client-Seite, Sie sind Missverständnis der web-stack
Eine
print_r($_POST)
und schauen, wie die Daten Aussehen. Ich nehme an, Sie schicken es ein bisschen anders. Die jQuery-Dokumentation sollte aussagekräftig genug.PHP wird nicht ausgeführt, der client-Seite, Sie sind Missverständnis der web-stack
InformationsquelleAutor bsand | 2011-11-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Warum nicht
$.post()
? Das format ist:Und dann behandeln die Daten, wie jede andere form post PHP (also das
$_POST
variable).InformationsquelleAutor Crontab
Nummer eins: Sie brauchen nicht zu verwenden
JSON.stringify
Nummer zwei: auf Sie Zugreifen, etwa so:
$uid = $_POST['UID']; //...etc
entfernen Sie die stringify dann alle Ihren code sollte funktionieren.
InformationsquelleAutor Neal
$data = $_POST['data'];
- das ist falsch.$_POST['UID']
,$_POST['Firstname']
,$_POST['Lastname']
etc. nur sindKann es Sie auch gar nicht machen, einige Operationen wie: JSON.stringify(jsonData); Vielleicht funktioniert so etwas wie dieses:
$.ajax({..., data: jsonData, ...});
Sollten Sie versuchen zu starten-traffic-analyzer, zum Beispiel, drücken Sie die Taste F12 in google chrome (Registerkarte Netzwerk), oder wählen Sie opera dragonfly in opera, oder anderen trafic analyzer und beheben einige Frage:
1. Anfrage senden nach rechts Skript und Antwort nicht ein 404-Fehler
2. empfangen von Daten hat richtige format? (in google chrome auf die Registerkarte Netzwerk, klicken Sie auf Anfrage für mehr Infos)
ich denke, dass problem wird gelöst, indem diese zwei Schritte =)
InformationsquelleAutor MaxXx1313