angularjs - POST 请求 - Firebase - 预检响应无效(重定向) - CORS

标签 angularjs http post firebase ionic-framework

我正在尝试从 Ionic 应用程序发布到 Slack channel ,但是浏览器中出现以下错误阻止了我。

XMLHttpRequest cannot load  http://hooks.slack.com/services/XXX. 
Response for preflight is invalid (redirect)

我相信我已经将范围缩小到修改 firebase.json 文件,并且正在尝试修改 header 以允许此文件中存在 CORS。

headers: [ {
5     source : **/*.@(eot|otf|ttf|ttc|woff),
4     headers : [ {
3       key: Access-Control-Allow-Origin,
2       value: *
1     } ]
16     }, {
1     source : **/*.@(eot|otf|ttf|ttc|woff),
2     headers : {  [
3       key: Access-Control-Allow-Headers,
4       value: Origin, X-Requested-With, Content-Type, Accept
5   } ]
6   }]
7 }

如果有任何关于如何实现此功能的想法,我将不胜感激。我的修改基于以下内容。

http://enable-cors.org/server_expressjs.html

https://www.firebase.com/docs/hosting/guide/full-config.html

最佳答案

我遇到了类似的问题,并且消息完全相同。

经过一些调试,我意识到我尝试请求的网站使用了 HSTS ( HTTP-Strict-Transport-Security ),因此浏览器自动将每个 HTTP 请求重定向到 HTTPS,从而破坏了预检请求。

请考虑到 HSTS 可以在您的浏览器上缓存很长时间,因此清除缓存或其他方法无济于事。如果您使用 Chrome,可以访问 chrome://net-internals/#hsts 检查这是否对您产生影响。

解决方案是确保想要执行 CORS 的应用程序仅发出 HTTPS 请求。

希望这有帮助!


关于angularjs - POST 请求 - Firebase - 预检响应无效(重定向) - CORS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33638970/

相关文章:

php - 使用 cURL 设置 Bearer token 的正确方法

http - 如何从命令行发送 HTTPS 0.9 请求?

node.js - NodeJS - TCP Net 和 HTTP 服务器都会因错误而崩溃吗?

WordPress 管理员搜索帖子错误 - 帖子类型无效

java - 使用 Apache Camel 发送 POST 请求

css - Pattern Lab "not mix well"是否带有 Angular?

javascript - 如何将ng-bind-html与双向数据绑定(bind)一起使用?

javascript - 使用 Ionic Framework 和 AngularJS 嵌入社交网络的发布

javascript - 创建通用函数来关闭模态 angularjs

java - 如何读取HTTP POST请求参数