Ich verwende einen AJAX-POST, um ein JSON-Objekt von der Client-Seite meines Servers zu senden. Ich bin jedoch ein wenig verwirrt darüber, wie ich auf das Objekt zugreifen soll, sobald es da ist.Wie greife ich auf ein Element dieses JSON-Objekts zu, das von JSON.parse erstellt wurde?
Hier ist meine POST von der Client-Seite:
var data = JSON.stringify({
'app': 'reviews',
'name': '',
'review': '',
'response': '',
'rating': rating,
'url': url,
'date': date
});
console.log(data);
$.ajax({
type: "POST",
url: "https://stormy-plateau-94715.herokuapp.com/",
data: JSON.stringify(data),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
alert(data['success']);
},
failure: function(errMsg) {
alert(errMsg);
}
});
Das funktioniert ganz gut. Auf meinem Server, ich den Körper der Anforderung gedruckt werden und es sieht gut aus:
"{\"app\":\"reviews\",\"name\":\"\",\"review\":\"\",\"response\":\"\",\"rating\":4.5,\"url\":\"test.com\",\"date\":\"7/5/2016\"}"
Dann rufe ich JSON.parse auf, und alles funktioniert nach wie vor, wie ich erwartet hatte, hier ist das Ergebnis:
{ "app": "Bewertungen", "Name": "", "Überprüfung": "", "Antwort": "", "Bewertung": 4,5, "URL": "test.com", "Datum": " 7.5.2016 "}
Dies wird in einer Variablen namens Post gespeichert. Wenn ich jedoch auf post.app oder post ['app'] zugreifen will, bekomme ich ein undefined. Kann mir jemand sagen, wo ich falsch liege?
Verwenden '$ _POST [ 'App']' auf Serverseite – Poonam
, warum Sie mit 'JSON.stringify' zweimal? – Poonam
Poonam und FDavidov hatten Recht, ich verwendete zweimal stringify. Ich habe console.log (post) verwendet, um die Post-Variable zu drucken. – user1023465