我的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)的,但貌似都有问题,请问大神该怎么接收并解析呢
女神的闺蜜爱上我2017-06-12 09:25:52
前端ajax:
data = {};
$.ajax({
type: "post",
url: "url",
dataType: "json",
data: JSON.stringify(data),
success: function(result) {
}
});
后端取值:
import json
data = json.loads(request.body)
print data['key']
代言2017-06-12 09:25:52
你首先得确定你传给后端的内容, 是什么样的, 不能直接就是json.loads
假设view对应方法源码如下
def test(req):
print(req.POST) # 通过输出看看前端传过来的数据是什么
return HttpResponse('test')
只有符合'{"aa":"xxx"...}'
这样的json
格式才能够被'{"aa":"xxx"...}'
这样的json
格式才能够被json.loads
识别并反序列化, 如果传回来的结果不是这样的json
格式, 那么就要调整前端的ajax
, 以便能够构造出这样的数据, 具体可以通过dataType: json
或者通过字符串拼接的方法构造都可以, 详情可以自行谷歌: ajax传递json数据
识别并反序列化, 如果传回来的结果不是这样的json
格式, 那么就要调整前端的ajax
, 以便能够构造出这样的数据, 具体可以通过dataType: json
或者通过字符串拼接的方法构造都可以, 详情可以自行谷歌: ajax传递json数据