'否'访问控制 - 允许 - 来源'标头出现在请求的资源上。错误

时间:2016-01-14 19:06:33

标签: javascript ajax html5 api cross-domain

我已经查看了几个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();
}

有人可以帮帮我吗?

0 个答案:

没有答案