我已经查看了几个Stack Overflow帖子,阅读了Mozilla写的关于HTTP访问控制(CORS)的内容,接着是HTML5 Rocks教程'使用CORS'并阅读Nicholas C. Zakas'文章称为“跨域资源共享的跨域Ajax”,但我仍然无法找到问题的解决方案。
我尝试从其他域/来源(为我提供帐户以获取对其API的访问权限)加载XML数据,但我一直收到此错误:
否'访问控制 - 允许 - 来源'标头出现在请求的资源上。起源' null'因此不允许访问。
奇怪的是,我在Chrome和Firefox中遇到此错误,但在Safari中却没有(我不了解IE)。
这是我的代码:
function createCORSRequest(method, url){
var xhr = new XMLHttpRequest();
if ("withCredentials" in xhr){
xhr.open(method, url, true);
xhr.withCredentials = true;
} else if (typeof XDomainRequest != "undefined"){
xhr = new XDomainRequest();
xhr.open(method, url);
} else {
xhr = null;
}
return xhr;
}
var request = createCORSRequest("GET", "http://webservices.ns.nl/ns-api-avt?station=ut")
if (request){
request.onload = function(){
document.getElementById("test").innerHTML = request.responseText;
};
request.send();
}
有人可以帮帮我吗?