2017-10-26 2 views
0

Ich sende vom Frontend-Objekt mit einer Eigenschaft, die gleich Array ist.QueryDict getlist gibt leere Liste zurück

Im Backend muss ich Daten von diesem Array abrufen.

wenn ich schreibe request.POST ich sehe:

<QueryDict: {u'response[0][doc_id]': [u'14'], u'response[1][uuid]': [u'157fa2ae-802f-f851-94ba-353f746c9e0a'], u'response[1][doc_id]': [u'23'], u'response[1][data][read][user_ids][]': [u'9'], u'response[0][uuid]': [u'8a0b8806-4d51-2344-d236-bc50fb923f27'], u'response[0][data][read][user_ids][]': [u'9']}> 

Aber wenn ich schreibe request.POST.getlist ('response') oder request.POST.getlist ('Antwort [] ') i bekommen

[] 

request.POST.get (' Antwort ") nicht so gut (gibt keine funktioniert).

Was ist los?

Antwort

1

Weil Sie nicht haben entweder response[] oder response als Schlüssel, haben Sie die Literalzeichenfolgen response[0][doc_id] und response[1][uuid] usw.

Wenn Sie eine Struktur wie diese verwenden möchten, sollten Sie JSON senden, anstatt form codierter Daten und Zugriff json.loads(request.body).

+0

Danke, das funktioniert gut. – Grzegorzg

Verwandte Themen