python3.x - python django通过ajax向后端传json怎么解析
问题描述
我的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数据
相关文章:
1. python - 用urllib抓取网页上的下载链接,目标文件是xls形式,但发现抓下来的xls是空表,里面只有一句报错信息,求帮助。2. python3.x - python 中的maketrans在utf-8文件中该怎么使用3. javascript - 一排三个框,各个框的间距是15px,距离外面的白框间距也是15px,这个css怎么写?4. javascript - immutable配合react提升性能?5. javascript - vue 手机端项目在进入主页后 在进入子页面,直接按返回出现空白情况6. javascript - jQuery post()方法,里面的请求串可以转换为GBK编码么?可以的话怎样转换?7. django - python 2层文件夹导入8. html5 - vue-cli 装好了 新建项目的好了,找不到项目是怎么回事?9. html5 - javascript写业务有用到什么编程范式没?10. mysql - C#连接数据库时一直这一句出问题int i = cmd.ExecuteNonQuery();

网公网安备