Chcę przekazać obiekt Json, który zawiera obiekty zagnieżdżone z mojego klienta na mój serwer.jak poprawnie przekazać obiekt json do serwera kolby przy użyciu jquery ajax
po stronie klienta, moja struktura danych wygląda następująco:
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'
i moje wezwanie ajax wygląda następująco:
$.ajax({
type: "POST",
url: window.location.pathname,
data: response
}).done(function(msg) {
alert("Data Saved: " + msg);
});
po zaksięgowaniu te dane do serwera, który jest prowadzony za pomocą Python, używam obiektu request.form do sprawdzenia, co zostało napisane od klienta. chciałbym dane mają być skonstruowane w ten sam sposób, jednak jest to wyjście na serwerze:
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')])
jak widać, odpowiedź [ „goście”] Obiekt został spłaszczony, a wszyscy jej dzieci, takie jak:
'goście [2] [najpierw]'
... to tylko struny, a nie elementów ich odpowiedzi dominującej [ 'gości'].
jest lepszy sposób na wysłanie tego bloku danych z mojego klienta do mojego serwera i utrzymanie jego struktury poprawnie?
dziękuję!
Totally Works! Dzięki. Jedna rzecz, metoda .done() nigdy się nie uruchamia, nawet jeśli widzę dane na moim serwerze, a kiedy sprawdzam kartę sieciową chrome dev, jest POST 200 OK dla tego żądania. – SeanPlusPlus
Nie przejmuj się powyższym komentarzem. Potrzebuję jsonify mojej odpowiedzi z serwera. Jeszcze raz dziękuję za pomoc w tej sprawie. – SeanPlusPlus