2013-12-23 82 views
1

嗨,祝大家圣诞快乐。AngularJS http.post()返回404

我正在使用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']; 

我补充说,代码控制器上的许多地方看.js,但我没有看到我的应用程序的行为差异。我也有很多http.get()请求,它们工作得很好。

- 编辑 -

https://cloud.email.aspx是不是一个真正的网站。

+1

你看过@网络跟踪/调试器,看看你的请求与jQuery和角度有什么不同吗?你尝试过卷曲吗? –

+0

我正在测试我的应用程序,因为当在本地测试时,我得不到'Access-Control-Allow-Origin',因此很难检查其他任何东西。这是我的第一个应用程序,所以我不知道如何实现角度卷曲。如果我删除POST方法,我会得到一个405.感谢您的答复。 – JocisPR

+0

这似乎是一个CORS问题。 – JocisPR

回答

7

解决了我的问题。

在服务器端添加CORS和一些起源异常之后。我尝试了我的代码,并获得了成功和200状态响应,但Web服务没有做任何事情。在阅读了其他stackoverflow post后,我发现Angularjs发布的数据与jquery不同,所以对Web服务进行正常的POST读取将不起作用。这篇文章有链接到这个site,这更详细地解释我的问题,它有一些代码发送数据的方式与jquery相同。

我希望这可以帮助别人

+0

伙计,道具给你!慢慢追踪,最终得到了该死的解释。谢谢! –