大家圣诞快乐。
我正在使用Phonegap AngularJS应用程序。我正在尝试制作一个http Post但我返回404错误。我使用jquery 1.10.2尝试了POST,它可以工作。我已经好几天了,这是完成应用程序编码的最后一部分。
我尝试过不同版本的请求但没有成功。
这是代码
$scope.sendMail = function (user){
console.log('sendmaul');
$http.post('https://cloud/email.aspx',
{
user: user.email,
pass: user.password,
to:user.recipient,
subject:'Test',
message:'My Message'
}
)
.success(function (data, status, headers, config){
console.log('success');
})
.error(function (data,status,headers,config){
console.log(data + status + config);
});
}
我已经在许多地方读过我需要在angular.module上添加以下代码为.config
$httpProvider.defaults.useXDomain = true;
delete $httpProvider.defaults.headers.common['X-Requested-With'];
我在controller.js上添加了该代码,但我在应用程序中看不到行为上的差异。我也有很多http.get()请求可以很好地工作。
- 编辑 -
https://cloud.email.aspx不是真正的网站。
答案 0 :(得分:8)
解决了我的问题。
在服务器端添加CORS和一些Origins Exceptions之后。我尝试了我的代码并获得了成功和200状态响应,但Web服务什么也没做。在阅读了另一篇stackoverflow post之后,我发现Angularjs发布了与jquery不同的数据,因此对Web服务的正常POST读取将不起作用。该帖子有一个指向此site的链接,它更详细地解释了我的问题,它有一些代码用于以与jquery相同的方式发送数据。
我希望这有助于某人