0
我试图访问使用AJAX多台服务器的资源,和我遇到了这样的问题:的XMLHttpRequest无法加载
XMLHttpRequest cannot load http://first.mydomain.com. Origin http://second.mydomain.com is not allowed by Access-Control-Allow-Origin.
用下面的代码
for (i in domains)
{
var url = 'http://'+domains[i]+'/mgmt/json/queue_status.php';
requests[i]=new request(url);
break;
}
function request(url)
{
var queues = {};
http_request = new XMLHttpRequest();
http_request.open("GET", url, true, 'username', 'password');
http_request.onreadystatechange = function() {
var done = 4, ok = 200;
if (http_request.readyState == done && http_request.status == ok) {
queues = JSON.parse(http_request.responseText);
var queuesDiv = document.getElementById('queues');
print_queues(queues, queuesDiv);
}
}
http_request.send(null);
}
我已经添加了以下内容响应页面被请求。
header('Access-Control-Allow-Origin: *');
我试图明确命名请求者也没有成功。
感谢
PS:上面的代码我肯定ins't完美,但功能罚款时,只是想请求主机服务器的资源。
经典。这是因为[同源策略](http://en.wikipedia.org/wiki/Same_origin_policy) –
好的,但有没有解决方法? – 111111
是的,通过JSONP回调和'