这是我第一次尝试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视图打印时查询字典的样子
<QueryDict: {u'{"testA":{"test1":"some data"},"testB":{"test2":"more data"}}': [u'']}>
JSON字符串是查询字典的键。我对Javascript或JSON不是很熟悉所以不要因为指出一个明显的新手错误而害怕伤害我的骄傲,因为我和我都知道。 ;)
谢谢,
答案 0 :(得分:3)
您将字符串作为参数发送给$.post
。不要自己调用“JSON.stringify()”,只需将原始JavaScript对象作为第二个参数传递给$.post()
。
$.post("/some/form/page/", {'testA':{'testa':'some data'},'testB':{'test2':'more data'}}, updateForm, 'json');