嗨,祝你们圣诞快乐.
我正在使用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不是真正的网站.
解决了我的问题.
在服务器端添加CORS和一些Origins Exceptions之后.我尝试了我的代码并获得了成功和200状态响应,但Web服务什么也没做.在阅读了另一篇stackoverflow文章后,我发现Angularjs发布了与jquery不同的数据,因此对Web服务的正常POST读取将无法正常工作.该帖子有一个指向该站点的链接,它更详细地解释了我的问题,并且它有一些代码用于以与jquery相同的方式发送数据.
我希望这有助于某人