【问题标题】:Ionic/Angular $http.get returning Response for preflight has invalid HTTP status code 404Ionic/Angular $http.get 返回的预检响应具有无效的 HTTP 状态代码 404
【发布时间】:2016-09-17 00:07:15
【问题描述】:

我正在IONIC 开发一个应用程序。我在 Angular JS 中发出$http.get 请求,当我成功登录并尝试使用身份验证标头中发送的令牌加载用户配置文件时,它给了我404 错误。

虽然我启用了CORS,但它会在 chrome 中产生错误。请查看screenshot

现在,如果我尝试POSTMAN 中的网址,一切正常。请参阅下面的screenshot

我遇到了这个错误,有人可以帮我吗?

【问题讨论】:

  • 你在 php 中启用了 CORS?
  • 请将所有相关信息放在问题中,而不是在链接中。当涉及到错误和数据时,文本比图像更受欢迎。

标签: php mysql angularjs ionic-framework hybrid-mobile-app


【解决方案1】:

离子怎么说

有两种方法可以解决此问题:第一种也是更简单的解决方案是只允许来自您的 API 端点的所有来源。但是,我们不能总是控制我们正在访问的端点。那么,我们需要的是一个不指定来源的请求。

我们可以通过使用代理服务器来做到这一点。让我们看看 Ionic CLI 是如何提供的

Reference

有效但不完全好用的方法

一个简单的解决方案是在你的浏览器中添加一个 CORS 插件,一切都会正常工作。

Plugin Link

代理服务器

如果你想要一个代理服务器,有这个教程:

Link

【讨论】:

  • 感谢蒂亚戈·法布尔。这对我有用:ionicinaction.com/blog/… 但是发生了什么事,为什么我会让应用程序上线并且服务器在某个域上。我还需要在那里安装“npm install -g corsproxy”吗?正在寻找您的回复。再次感谢。
  • 不,这个问题只是因为您正在使用本地主机而发生。这只是因为浏览器默认阻止来自本地主机的每个“复杂”请求(POST、PUT、DELETE ...)。当您将应用程序投入生产时,该问题不会发生,因为请求来自服务器。我不是这方面的专家,但我已经将 ionic 应用程序投入生产,并且我没有遇到 CORS 问题
猜你喜欢
  • 2016-01-22
  • 2017-09-26
  • 2018-04-25
  • 2016-02-08
  • 1970-01-01
  • 1970-01-01
  • 2018-09-22
  • 2023-04-10
  • 2017-12-22
相关资源
最近更新 更多