Jquery 到 Python/Django 查询字典

标签 jquery python ajax django post

我正在使用 JQuery POST 数组:

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: ...

当我将 POST 数据发送到我的 Django 应用程序时,它会显示如下:

<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']}>

如何访问它以便将数据用作有意义的对象。

# fees[0], fees[1] turned int dicts of this format
{"category": 43, "fee": "fdas", "deadline": 31}

或者,如果我在 JQuery 中使用 JSON.stringify(fees),我的 POST 数据会变得奇怪:

<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']

我觉得这全是胶带和创可贴。 我做错了什么/这里发生了什么?

最佳答案

使用JSON.stringify版本,然后通过json.loads(request.body)在Python中获取数据。

关于Jquery 到 Python/Django 查询字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32301399/

相关文章:

python - 从这个 Python 元组列表中创建一个新列表?

jquery - 在 jquery 选择器中包含变量

javascript - 如何在JQuery函数中获取对象的属性值?

python - 用索引从数组中填充 1D numpy 数组

python - Pandas read_csv,读取一个缺失值指定为 int 的 boolean 值

javascript - Ajax 将 div 替换为另一个 div(新 css)

javascript - 字符串 str 始终为空,尽管它充满了来自 .geojson 文件的数据,你知道吗?

包含ajax的javascript函数在提交后不起作用,但可以处理按钮单击事件

javascript - 从 <div> 中删除文本

ajax - Disqus + ajax + 死了...