【问题标题】:AngularJS http.post() returns 404AngularJS http.post() 返回 404
【发布时间】:2014-01-03 00:55:35
【问题描述】:

祝大家圣诞快乐。

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

【问题讨论】:

  • 你看过@network traces / debuggers,看看你的请求与jquery和angular有什么不同吗?你试过卷曲吗?
  • 我正在我的应用程序内部进行测试,因为在本地测试时我得到 No 'Access-Control-Allow-Origin' 所以很难检查其他任何东西。这是我的第一个应用程序,所以我不知道如何用 Angular 实现 curl。如果我删除 POST 方法,我会收到 405。感谢您的回复。
  • 这似乎是一个CORS问题。
  • 我解决了我的 CORS 问题并获得了 200 状态,但似乎 DATA 没有到达。同样,jquery 1.10.2 就像一个魅力
  • 哈哈,sendmaul 让别人笑了吗?

标签: javascript angularjs cordova


【解决方案1】:

解决了我的问题。

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

我希望这对某人有所帮助

【讨论】:

  • 老兄,给你道具!随波逐流,最后得到了该死的解释。谢谢!
猜你喜欢
  • 2016-07-03
  • 2017-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-01
  • 2017-01-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多