在寻找解决 CORS 问题的方法时,我看到许多示例都建议在 XMLHttpRequest 的构造函数中放置一个属性“mozSystem”设置为 true 的对象,以便发出请求而不会出现同源问题政策。我已经试过了,但它不起作用。我在一台计算机上有一个 Web 应用程序,在另一台计算机上有一个带有未经验证的证书的 https 服务器,我向该服务器发送请求以填充我的 Web 应用程序上的表格。我向我的服务器发送请求,以便以 json 的形式获取一组对象,但由于请求不是以相同的来源发送的,因此它失败了。我试图在 XMLHttpRequest 的构造函数中放置一个属性“mozSystem”设置为 true 的对象,但我的 IDE 告诉我构造函数不接受参数,但在我看到的示例中,该对象被作为参数放置构造函数。当我将该对象作为参数保留然后调试代码时,它显示属性“mozSystem”为假,因此这意味着它不起作用。这是我如何从服务器检索数组的示例:var array=[];function getArray(){var request= new XMLHttpRequest({mozSystem: true});request.onreadystatechange=function(){ if(request.readyState===4&&request.status===200){ array=JSON.parse(request.responseText); } };request.open('GET',urlOfTheServer,false);request.send(null);}所以我需要知道将那个对象放在构造函数中是否有什么不同,或者是否有任何其他方法不会从相同的源策略中获取错误。
1 回答
牛魔王的故事
TA贡献1830条经验 获得超3个赞
Firefox 16 向构造函数添加了非标准参数
你的IDE称,它不带参数,因为标准的实施不会。
mozSystem
仅用于“特权应用程序”,这是一种安装在 Web 浏览器中运行的应用程序的过时方式。
您不能使用客户端 JavaScript 使浏览器忽略证书的信任问题。
它们只能通过以下方式解决:
用没有这些信任问题的证书替换证书
浏览器用户访问 URL(作为视口的主 URL,而不是通过(例如)XMLHttpRequest 加载的 URL)并单击一系列警告屏幕以关闭它
计算机的浏览器用户/管理员在计算机上安装适当的证书,以便在本地而不是全局解决信任问题
添加回答
举报
0/150
提交
取消