好吧,我已经在这里好几个小时了!而且我已经阅读了有关这个主题的所有可能的链接,但是我仍然无法完成它的工作,并且这让我慢慢地疯狂起来。我正在做一个AJAX请求(从我的域名)到一个API(在另一个域名),但我一直在控制台日志中回来(显然我已经修改排除任何域等):Ajax API调用Access-Control-Allow-Origin。原产地不允许访问
XMLHttpRequest无法加载https://[APIPROVIDER]/something.json?options。请求的资源上没有“Access-Control-Allow-Origin”标题。因此'Origin'http://[MYDOMAIN].com'不允许访问。
这是我的代码
$(document).ready(function() {
function step1(){
$.ajax({
url: 'getit.php',
method: 'get',
dataType : 'json',
success: function(data){
step2(data.url);
},
error: function(jqXHR, status, error) {
console.log(error);
}
});
}
function step2(url){
$.ajax({
url: url,
type: 'get',
dataType : 'json',
success: function(data){
console.log(data);
},
error: function(xhr, status, error) {
console.log(error);
}
});
}
step1();
});
我试过,ajaxSetup(设置头),并没有帮助。 我试过了,标题:{'Access-Control-Allow-Origin':'*'}。 我试过了crossDomain:true。 我试着删除dataType:'json'。
就像我说的,这让我很生气。主要是因为这是阻止我继续前进并努力提出回应的唯一因素。而且它非常接近,无论我做什么,我都会一直这样做。我已经阅读了几篇有关CORS,头文件中的Access-Control-Allow-Origin的文章。我仍然不明白为什么我得到这个错误。
任何帮助在这里非常感谢! /绝望
这已经在SO上多次提出。仅供参考,Access-Control-Allow-Origin是服务器需要设置的标题,它应该将您的域列为允许的来源。 – WreckeR
@WreckeR是的。我知道这个问题已被多次询问(我无意“滥发社区”)。无论我做了什么,我都无法让它工作。尽管谢谢你的回答。我一直在阅读,并最终与PHP代理合作。就像我自己的回答中所述。我想我只是需要一些睡眠,看到所有与“新鲜的眼睛”:) – axelra82
不要错误的方式。标记重复只是一种帮助其他人最终解决这个问题的方法,并将他们指向已经有高度投票答案的问题。 – WreckeR