无法通过ajax调用从“数据库”获取数据“No'Access-Control-Allow-Origin'”

时间:2014-01-06 19:27:13

标签: javascript php jquery ajax

我正在尝试执行ajax GET调用以从我的数据库中获取一些信息。离线(通过localhost)一切都很完美。在线我一遍又一遍地得到同样的错误:

“请求的资源上没有'Access-Control-Allow-Origin'标头。” 正如您在以下链接中看到的那样:http://d.pr/i/pHR4

javascript代码:

    function loadnewsong(){

    var url = "http://www.sonder.be/?nextsong=true&id=" + $('#musicid').text();

    $.ajax({
        type:"GET",
        url: url,
        dataType:"json",
        success: function(data){
            console.log(data);

            $('#title').fadeOut(function(){

            $('#title').text(data[0].title);
                $('#title').fadeIn();
            });

            $('#musicid').text(data[0].id);

            audio.pause();
            $('#srcmp3').attr('src',"assets/media/" + data[0].mp3);
            $('#srcogg').attr('src',"assets/media/" + data[0].ogg);
            audio.load();
            audio.play();

            url = "http://www.sonder.be/?nextsong=true&id=" + $('#musicid').text();

        }
    });
}

我可能做错了什么?

1 个答案:

答案 0 :(得分:3)

sonder.be要求浏览器从www.sonder.be获取数据,而www.sonder.be未授予其与sonder.be共享该数据的权限。

由于这些大概是指向同一网站的不同主机名,因此您需要使用简单的方法来解决此问题:

  1. 选择两个主机名中的一个作为规范,并在另一个主机上为所有资源发出301重定向。
  2. 使用相对URI。
  3. 进一步阅读:

相关问题