跨源请求被阻止:解决 Firefox OS 问题
当浏览器限制来自以下来源的请求时,会出现“跨源请求被阻止”错误出于安全考虑,不同的来源。要在 Firefox OS 应用上下文中解决此问题,需要修改您的 Go 后端和 JavaScript 代码。
Go 后端修改:
确保您的Go 处理程序将“Access-Control-Allow-Origin”标头设置为“*”以允许来自所有起源:
func handleMessageQueue(w http.ResponseWriter, r *http.Request) { w.Header().Set("Access-Control-Allow-Origin", "*") // ... remainder of the code }
JavaScript 修改:
1.使用 mozSystem:
创建 XMLHttpRequest 对象时,将“mozSystem”标志指定为 true:
var xhr = new XMLHttpRequest({mozSystem: true});
2.将权限添加到清单:
在 Firefox OS 应用清单中,在“权限”下添加“systemXHR”权限:
"permissions": { "systemXHR" : {}, }
说明:
mozSystem 允许跨站点连接,无需服务器的 CORS 许可。但是,它仅适用于通过 Firefox App Store 审核流程的特权应用程序。清单中的“systemXHR”权限允许在您的应用程序中使用 mozSystem。
通过进行这些更改,您可以使 Firefox OS 应用程序向 Go 后端发起跨源请求并接收必要的响应数据不会被同源策略阻止。
以上是如何修复 Firefox OS 应用程序中的'跨源请求被阻止”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!