django在ajax中弄平字典获取/发布

时间:2015-06-01 14:51:30

标签: jquery python ajax django

我正在尝试通过get / post向django发送简单的ajax请求(无关紧要),似乎django在解析请求时会使字典变平。

举例:

我在ajax中发送给django(通过jquery):

{'payload':{'website':'localhost.com'}}

我在django方面的request.post中获得了什么:

{u'payload[website]': [u'localhost.com']}

为什么?

感谢,

编辑: 添加了jquery调用

$.ajax({
    type: "GET",
    url: full_url,
    data: {'payload': {'website': 'localhost.com'}},
    dataType: "json",
    contentType: "application/json",
    async: true,
    timeout: 5000,
});

1 个答案:

答案 0 :(得分:1)

您发送到django服务器的内容类型是什么? 它应该设置为:' application / json'所以服务器知道它正在接收json。 此外,尝试使用request.data而不是data.post检索数据。 然后,您应该能够执行以下操作:

if (request.data):
   payload = request.data['payload']

快速注意,如果这就是你要传递给服务器的所有内容我将删除一个级别并且只发送内部词典:

{'website':'localhost.com'}

然后使用

检索它
request.data['website']