AngularJS http.post()返回404

时间:2013-12-23 21:08:40

标签: javascript angularjs cordova

大家圣诞快乐。

我正在使用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不是真正的网站。

1 个答案:

答案 0 :(得分:8)

解决了我的问题。

在服务器端添加CORS和一些Origins Exceptions之后。我尝试了我的代码并获得了成功和200状态响应,但Web服务什么也没做。在阅读了另一篇stackoverflow post之后,我发现Angularjs发布了与jquery不同的数据,因此对Web服务的正常POST读取将不起作用。该帖子有一个指向此site的链接,它更详细地解释了我的问题,它有一些代码用于以与jquery相同的方式发送数据。

我希望这有助于某人