我在本地主机上使用HTML5应用程序运行服务器。 我想向第二台服务器发送一个http请求" 130.100.100.100:50000"。
我在localhost上运行以下JavaScript代码,我将http请求发送到第二台服务器。
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {}
};
xmlhttp.open("GET", "http://130.100.100.100:50000/company.html/query?a0=" + a0, true);
xmlhttp.setRequestHeader( 'Access-Control-Allow-Origin', '*');
xmlhttp.send();
第二台服务器正在接收我的查询,但我的请求得不到任何答案。我认为问题在于违反了同源策略。我尝试使用CORS标准来设置
Access-Control-Allow-Origin: *
但我发送的GET请求仍然不包含" Access-Control-Allow-Origin"在标题中。如果我用" Access-Control-Allow-Origin手动发送请求:*"一切正常。我的JavaScript代码有错误吗?我想避免使用jQuery。
答案 0 :(得分:0)
您需要允许服务器上的跨源。关注https://ma.ttias.be/set-access-control-allow-origin-cors-headers-apache-vhost-htaccess/
答案 1 :(得分:0)
您需要一个用作代理的页面。此页面将向目标页面发送GET请求并显示响应。确保img
,a
,script
和link
的相对路径转换为完整路径。如果这样做,CORS问题将得到解决。