这是我第一次尝试 ajax,我编写了一个提交处理程序,用于解析表单并通过 POST 将数据作为 JSON 字符串发送到服务器。这是我的 javascript 的简化示例
formData = JSON.stringify({'testA':{'testa':'some data'},'testB':{'test2':'more data'}});
JSON 字符串如下所示
{"testA":{"test1":"some data"},"testB":{"test2":"more data"}}
我通过邮寄方式发送到这里
$.post("/some/form/page/",formData,updateForm,'json');
在服务器端,问题出现了,这就是当我从 Django View 打印 if 时我的查询字典的样子
<QueryDict: {u'{"testA":{"test1":"some data"},"testB":{"test2":"more data"}}': [u'']}>
JSON 字符串是查询字典的键。我对 Javascript 或 JSON 不太熟悉,所以不要害怕指出一个明显的新手错误会伤害我的自尊,因为我很熟悉,而且我知道这一点。 ;)
谢谢
最佳答案
您将字符串作为参数发送到$.post
。您无需自己调用“JSON.stringify()”,只需将原始 JavaScript 对象作为第二个参数传递给 $.post()
。
$.post("/some/form/page/", {'testA':{'testa':'some data'},'testB':{'test2':'more data'}}, updateForm, 'json');
关于javascript - 通过 POST 发送到 Django View 的 JSON 字符串中的键和值反转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4785552/