在寻找解决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);
}
所以我需要知道将那个对象放到构造函数中是否有任何区别,或者是否有其他方法可以避免从同一原始策略中获取错误。
答案 0 :(得分:2)
Firefox 16向构造函数添加了一个非标准参数
您的IDE表示不需要参数,因为的标准实现没有。
mozSystem
仅用于“特权应用程序”,这是安装在Web浏览器中运行的应用程序的一种过时方法。
您不能使用客户端JavaScript使浏览器忽略证书的信任问题。
只能通过以下方式解决它们: