Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Javascript发出CORS请求_Javascript_Http Headers_Cors - Fatal编程技术网

如何使用Javascript发出CORS请求

如何使用Javascript发出CORS请求,javascript,http-headers,cors,Javascript,Http Headers,Cors,我正在尝试编写一个代码,根据其他服务器上提供的信息自动填充表单。确切地说: 这是我的密码: var name = document.form.name.value; var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function(){ alert(xmlhttp.responseXML); } xmlhttp.open("GET","http://services.runescape.com/m=hisc

我正在尝试编写一个代码,根据其他服务器上提供的信息自动填充表单。确切地说:

这是我的密码:

var name = document.form.name.value;
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function(){
    alert(xmlhttp.responseXML);
}
xmlhttp.open("GET","http://services.runescape.com/m=hiscore/index_lite.ws?player="+name,true);
xmlhttp.send();
但Firefox总是显示以下错误:

已阻止跨源请求:同一源策略禁止在上读取外部资源。这可以通过移动re来解决 源到同一域或激活CORS

可能有一些语法错误,因为我是从德语翻译过来的

然后我尝试使用Firefox使用的相同标题:

var name = document.form.name.value;
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function(){
    alert(xmlhttp.responseXML);
}
xmlhttp.open("GET","http://services.runescape.com/m=hiscore/index_lite.ws?player="+name,true);
xmlhttp.setRequestHeader("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0");
xmlhttp.setRequestHeader("Host","services.runescape.com");
xmlhttp.setRequestHeader("DNT","1");
xmlhttp.setRequestHeader("Connection","keep-alive");
xmlhttp.setRequestHeader("Accept-Language","de,en-US;q=0.7,en;q=0.3");
xmlhttp.setRequestHeader("Accept-Encoding","gzip,deflate");
xmlhttp.setRequestHeader("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
xmlhttp.send();

但同样的错误也发生了。。希望您能帮助我。

XlmHttpRequest仅在启用跨源资源共享(CORS)的情况下跨域工作。如果您可以控制服务器,则以下是启用服务器的方式:

如果你不能控制服务器,那么你就不走运了。如果它们支持JSONP,您可以通过普通的脚本include获取信息


第三种选择,也需要您自己的服务器,是在您自己的域上设置一个代理,然后为您获取相关数据。由于只有浏览器受到CORS的限制,您可以使用favirote编程语言在服务器上获取数据并传递数据

在客户端您无能为力,CORS必须在服务器上启用,而不是在客户端浏览器中启用真的吗?我知道使用该网站信息的网站。标题可能是问题所在吗?或者如果他们用了什么东西会有区别吗?像PHP?不过,谢谢你的回复