我刚刚开始构建我的第一个angularjs项目,并被$ http.post卡住了。无论发送什么数据,它都不会被服务器拦截(Django)。我见过很多帖子说我必须将内容类型headere更改为:
$http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded";
这样做没有帮助。
当我开始显得有点深,比较$ http和jQuery的$。员额,我注意到,当数据与$ HTTP发送的,这是表单数据被发送:
{"first_prop":"789564","second_prop":"Foo","third_prop":"Bar"}:
用分号结尾。
当我用$。员额(和它的作品)发送,这就是被发送:
first_prop:789564
second_prop:Foo
third_prop:Bar
因此,他们不发送信息的方式相同。
有没有人知道我在做什么错了$ http.post?
这里是我的代码:
$http.post('pakashnotifier/addSlave', {
first_prop:"789564",
second_prop:"Foo",
third_prop:"Bar"
})
UPDATE 我现在发现有$ http.post,帖子被截获的服务器一个GET。
如果有人能帮忙,那简直太好了:)
试过了,它没有帮助,我现在注意到请求是作为POST发送的,但django将它作为GET进行了区分。 – sid802 2015-03-13 09:15:46
更新了与django匹配的答案。这应该工作 – Unex 2015-03-13 09:23:53
谢谢!这帮助了很多。奇怪的是,$ http.post有时被截获为GET帖子和POST。无论如何,它也永远不会被拦截作为ajax请求 – sid802 2015-03-13 09:38:42