从角度应用程序中,当我使用jQuery发送帖子请求时,如下所示,......
this.login = function (email, password) {
return $.getJSON(FOO_URL, {
email: email,
password: password
});
}
......我的回答非常好。
Object {result: "ok", key_one: result_one, key_two: result_two, ...}
但是,当我尝试使用角度$http
执行相同的操作时,如下所示,...
this.login = function (email, password) {
return $http.post(FOO_URL, {
email: email,
password: password
});
}
...我的回复数据完全是空的。
Object {data: "", status: 200, config: Object, statusText: "OK"}
为什么我的回复数据为空{angular $http
?
答案 0 :(得分:0)
jQuery的$.getJSON
将不发出POST
个请求。它只能GET
。
要使其完全相同,您需要将数据作为params
...
$http.get(FOO_URL, {
params: {
email: email,
password: password
}
})
请参阅https://docs.angularjs.org/api/ng/service/$http#usage
要发送格式为application/x-www-form-urlencoded
的数据的POST请求,如果您使用的是PHP的$_REQUEST
(或$_POST
),则需要执行此操作,请参阅此答案〜{{ 3}}
简短回答,注入$http
和$httpParamSerializer
并使用
$http({
method: 'POST',
url: FOO_URL,
data: $httpParamSerializer({email: email, password: password}),
headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
})
答案 1 :(得分:0)
这是两个不同的http请求。一个是getJSON是一个GET方法,而$ http.post是一个POST方法。
tableView:cellForRowAtIndexPath: