我正在尝试执行 ajax GET 调用以从我的数据库中获取一些信息。离线(通过本地主机)一切正常。在网上我一遍又一遍地遇到同样的错误:
“请求的资源上不存在‘Access-Control-Allow-Origin’ header 。” 正如您在以下链接中看到的: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();
}
});
}
我可能做错了什么?
最佳答案
sonder.be
要求浏览器从 www.sonder.be
获取数据,而 www.sonder.be
没有提供它有权与 sonder.be
共享该数据。
由于这些可能是指向同一站点的不同主机名,因此您可以使用简单的方法来解决此问题:
- 选择两个主机名之一作为规范主机名,并对另一个主机名上的所有资源发出
301
重定向。 - 使用相对 URI。
进一步阅读:
关于javascript - 无法通过ajax调用 "No ' Access-Control-Allow-Origin'"从数据库获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20957673/