jqueryを使用してカスタムjsonデータをdjangoに渡そうとしましたが、djangoはデータを正しく受信できません。データサンプル:
var data = {};
data.mylist = [{'a':'b'},{'a':'b'}];
data.myvar = 'something';
data.action = 'submit_invoice'
$.post(window.invoice_url, data, function(res){
console.log(res)
});
Djangoビュー:
def foo(request):
mylist = request.POST.getlist('mylist',None)
myvar = request.POST.get('myvar', None)
print(mylist)
print(myvar)
print(request.POST)
印刷は何か、[]および<QueryDict:{'action':['submit_invoice']、 'mylist [1] [a]':['b']、 'myvar':['something']、 'mylist [0] [a] ':[' b ']}>およびdjangoはmylistを正しく取得できません。
あなたはJSONを送信したい場合は、必要がありstringify
ますが、オブジェクト渡し、また、設定しているdataType
にjson
:
$.post(window.invoice_url, JSON.stringify(data), function(res){
console.log(res)
}, 'json');
Djangoビューで、リクエストの本文にをロードする必要があります。その後、必要なjson.loads()
属性にアクセスできます。
import json
def foo(request):
data = json.loads(request.body.decode('utf-8'))
mylist = data['mylist']
myvar = data['myvar']
print(mylist)
print(myvar)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加