Ich möchte ein JSON-Objekt übergeben, das verschachtelte Objekte von meinem Client zu meinem Server enthält.Wie ein JSON-Objekt korrekt übergeben wird mit JQuery AJAX
auf der Client-Seite, sieht meine Datenstruktur wie folgt aus:
var response = {};
response['screening'] = '1';
response['assistance'] = 'wheelchair access';
response['guests'] = {};
response['guests']['1'] = {}
response['guests']['1']['first'] = 'John'
response['guests']['1']['last'] = 'Smith'
response['guests']['2'] = {}
response['guests']['2']['first'] = 'Dave'
response['guests']['2']['last'] = 'Smith'
und meine Ajax-Aufruf sieht wie folgt aus:
$.ajax({
type: "POST",
url: window.location.pathname,
data: response
}).done(function(msg) {
alert("Data Saved: " + msg);
});
nachdem diese Daten auf meinen Server veröffentlichen, die unter Verwendung von ausgeführt wird Ich benutze das Objekt request.form, um zu sehen, was vom Client gepostet wurde. i die Daten möchten die gleiche Art und Weise strukturiert werden, dies ist jedoch der Ausgang auf dem Server:
ImmutableMultiDict([('guests[1][first]', u'John'), ('screening', u'2'), ('guests[2][last]', u'Smith'), ('guests[2][first]', u'Dave'), ('assistance', u'wheelchair access'), ('guests[1][last]', u'Smith')])
wie Sie sehen können, ist die Antwort [ ‚Gäste‘] Objekt wurde abgeflacht, und alle seine Kinder, wie zum Beispiel:
den Gästen ein [2] [erste]
... sind nur Zeichenketten, nicht Elemente ihrer Eltern Reaktion [ 'Gäste'].
Gibt es eine bessere Möglichkeit, diesen Datenblock von meinem Client an meinen Server zu senden und seine Struktur korrekt zu verwalten?
danke!
Totally Works! Vielen Dank. Eine Sache, die .done() -Methode wird nie ausgeführt, obwohl ich die Daten auf meinem Server sehen kann, und wenn ich die Chrome-Dev-Netzwerk-Registerkarte überprüfen, gibt es einen POST 200 OK für diese Anfrage. – SeanPlusPlus
Vergiss den obigen Kommentar. Ich muss meine Antwort vom Server bestätigen. Danke nochmal für die Hilfe dabei. – SeanPlusPlus