首页 >后端开发 >Golang >为什么即使启用了 CORS,我的 Firefox OS 应用程序也会收到'跨源请求被阻止”错误?

为什么即使启用了 CORS,我的 Firefox OS 应用程序也会收到'跨源请求被阻止”错误?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-17 00:13:25949浏览

Why Does My Firefox OS App Get a

由于 XMLHttpRequest 限制,跨源请求被阻止

问题:

尝试从 Firefox OS 应用访问 RESTful POST 服务会导致即使后端服务器已设置,也会出现“跨源请求被阻止”错误HTTP 响应标头中包含“Access-Control-Allow-Origin: *”。

解决方案:

问题在于创建 XMLHttpRequest 请求的 JavaScript 代码:

var request = new XMLHttpRequest();

要在 Firefox OS 应用程序中发出跨站点 POST 请求,必须在特权模式下创建 XMLHttpRequest 对象,使用mozSystem:

var request = new XMLHttpRequest({mozSystem: true});

实现细节:

  1. mozSystem: 将 mozSystem 设置为 true 允许跨站点连接,无需 CORS 服务器端配置。但是,它需要设置 mozAnon: true,这会阻止发送 cookie 或其他用户凭据。此功能仅适用于特权(经过审查)的应用程序,不适用于任意网页。
  2. 清单更新:要授予您的应用程序必要的权限,请在清单的“权限”中包含以下行部分:
"permissions": {
       "systemXHR" : {},
}

通过实施这些更改,您的 Firefox OS 应用程序将能够跨源POST 请求到您的 Go 服务。

以上是为什么即使启用了 CORS,我的 Firefox OS 应用程序也会收到'跨源请求被阻止”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn