了解 Go 和 Firefox OS 应用中的“跨源请求被阻止”
出现了称为“跨源请求被阻止”的问题当 HTTP 请求因目标域与请求的来源不同而被拒绝时。在 Web 应用程序中跨不同域发出请求时,通常会发生这种情况。
在提供的 Go 代码中,服务器尝试通过将“Access-Control-Allow-Origin”标头设置为“来允许跨源请求” *,”允许来自任何域的请求。然而,Firefox OS应用程序仍然面临着这个问题。
问题出在应用程序中使用的JavaScript XMLHttpRequest对象。要启用没有 CORS 的跨站点连接,XMLHttpRequest 构造函数中的“mozSystem”标志必须设置为 true。
Firefox OS 应用程序的解决方案
在提供的JavaScript 代码,将:
var request = new XMLHttpRequest();
替换为:
var request = new XMLHttpRequest({mozSystem: true});
清单修改
此外,确保应用程序的清单包含“systemXHR”权限:
"permissions": { "systemXHR" : {}, }
通过进行这些调整,Firefox OS 应用程序将能够向 Go 服务器发出跨源 POST 请求并检索所需的响应。
以上是如何修复 Firefox OS 应用程序向 Go 服务器发出请求时出现的'跨源请求被阻止”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!