我只是想从服务器上的其他网站抓取html并将其打印在当前网站上。这基本上就是我正在做的事情:
// The object
var xmlhttp = new XMLHttpRequest();
// When a button is pressed, we get the html
function printJSON(action)
{
otherURL = "http://www.my.domain.com/other.php?action=" +action;
xmlhttp.open('GET',otherURL,true);
xmlhttp.send();
}
// and then print it in this div
xmlhttp.onreadystatechange = function
{
if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
$('JSON_output').innerHTML = xmlhttp.responseText;
}
}
我收到的错误是:
XMLHttpRequest无法加载http://www.my.domain.com/other.php?action=SEARCH。 Access-Control-Allow-Origin不允许原点http://my.domain.com。
这看起来很奇怪,因为这是服务器上的一个站点,试图在同一个文件夹中访问另一个站点。我需要在服务器上调整一些东西吗?我需要设置xmlhttp中的属性?
干杯!
答案 0 :(得分:0)
http://www.my.domain.com和http://my.domain.com是两个不同的域名(请注意www)。
如果www.my.domain.com和my.domain.com指向同一个地方,最简单的解决方案是使otherURL
相对;以“/other.php?action=”开头;这样,它将始终与您的页面位于同一个域中。
如果没有,请指向同一个地方,有一个更复杂的解决方案,涉及您的服务器输出名为the JavaScript same-origin policy的其他标头; Cross Origin Resource Sharing