您的位置:首頁技術文章
文章詳情頁

python3.x - python django通過ajax向后端傳json怎么解析

瀏覽:88日期:2022-06-29 13:44:17

問題描述

我的json內容是這樣的:

{ 'type':'user', 'ifor':[{ 'id':001, 'name:'lison'},{ 'id':002, 'name':'wei'} ]}

在JS中我是使用jquery的ajax方法傳的,這樣寫的:

$.ajax('url',{ type:'post', data:{type:'user',ifor: [ {id:001,name:'lison' }, {id:002,name:'wei' }] }, success:function(){}})

我的是python3.6,django是1.11.1,在django中的views.py中該怎么接收呢?我網上查了好多,有的說json.loads(request.body),有說simplejson.loads(request.raw_post_data)的,但貌似都有問題,請問大神該怎么接收并解析呢

問題解答

回答1:

前端ajax:

data = {};$.ajax({ type: 'post', url: 'url', dataType: 'json', data: JSON.stringify(data), success: function(result) { }});

后端取值:

import jsondata = json.loads(request.body)print data[’key’]回答2:

你首先得確定你傳給后端的內容, 是什么樣的, 不能直接就是json.loads假設view對應方法源碼如下

def test(req): print(req.POST) # 通過輸出看看前端傳過來的數據是什么 return HttpResponse(’test’)

只有符合’{'aa':'xxx'...}’這樣的json格式才能夠被json.loads識別并反序列化, 如果傳回來的結果不是這樣的json格式, 那么就要調整前端的ajax, 以便能夠構造出這樣的數據, 具體可以通過dataType: json或者通過字符串拼接的方法構造都可以, 詳情可以自行谷歌: ajax傳遞json數據

標簽: Python 編程
相關文章:
国产综合久久一区二区三区