Jquery到Python/Django查询Dict
我正在使用JQuery发布一个数组,如下所示:Jquery到Python/Django查询Dict,jquery,python,ajax,django,post,Jquery,Python,Ajax,Django,Post,我正在使用JQuery发布一个数组,如下所示: var fees = []; fees.push({ "fee":someFee0, "deadline": someDeadline0, "category": someCategory0}) }); fees.push({
var fees = [];
fees.push({
"fee":someFee0,
"deadline": someDeadline0,
"category": someCategory0})
});
fees.push({
"fee":someFee1,
"deadline": someDeadline1,
"category": someCategory1})
});
jQuery.ajax({
type: 'post',
url: /save/,
data: {fees:fees},
success: ...
当我在Django应用程序中获得POST
数据时,它显示如下:
<QueryDict: {u'fees[1][deadline]': [u'31'], u'fees[0][category]': [u'43'], u'fees[1][fee]': [u'fdsa'], u'fees[1][category]': [u'44'], u'fees[0][fee]': [u'fdas'], u'fees[0][deadline]': [u'31']}>
或者,如果我在JQuery中使用JSON.stringify(fees)
,我的POST
数据会出现奇怪的结果:
<QueryDict: {u'[{"fee":"fdsa","deadline":"31","category":"43"},{"fee":"fdsa","deadline":"31","category":"44"}]': [u'']}>
我觉得这些都是胶带和创可贴。
我做错了什么/这里发生了什么事?使用
JSON.stringify
版本,然后通过JSON.loads(request.body)
在Python中获取数据,我认为它应该与JSON.dumps(my_query_dict)
一起工作。太棒了!是的。但为什么会这样呢?因为request.POST
用于表单编码的数据,但您直接发布的是JSON<代码>请求。正文是原始帖子。
<QueryDict: {u'[{"fee":"fdsa","deadline":"31","category":"43"},{"fee":"fdsa","deadline":"31","category":"44"}]': [u'']}>
x = request.POST
for values in x.lists():
data = json.loads(values[0])
print data[0]['fee'], data[1]['deadline']