【发布时间】:2021-03-05 22:49:57
【问题描述】:
我正在使用 javascripte 并尝试使用来自 api 的 url 进行简单的 ajax 请求。当我打开页面时,它返回我:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,Origin 'null' 不允许访问。 我不知道如何解决这个错误,我一直在尝试一些东西,但它们对我不起作用。 我正在使用:铬。 希望您能够帮助我。 代码如下:
$.ajax({
url: 'https://brokersports.ddns.net/api/v2/basketball/inlive/',
type: 'GET',
contentType: 'application/json',
headers: {
"Authorization": "Bearer my-api-key"
},
success: function (data) {
console.log(data);
$.each(data.matches, function( index, value ) {
var league ='<tr id="live"><td id="time">'+ value.live.status+'</td><td id="equi">'+value.match+'</td><td id= "score">'+value.live.score+'</td>';
$.ajax({
url: 'https://brokersports.ddns.net/api/v2'+value.url+'/1X2/531',
contentType: 'application/json',
headers: {
"Authorization": "Bearer my-api-key"
},
success: function (data) {
console.log(data);
$.each(data.dataLive, function( index, value ) {
var match ='<td id="odd"><button id=btn>'+ data.dataLive[0].odds[0]+'</button></td><td id="odd"><button id=btn>'+ data.dataLive[0].odds[1]+'</button></td><td id="odd"><button id=btn>'+ data.dataLive[0].odds[2]+'</button></td><td id="odd"><button id=btn>+plus</button></td></tr>';
$('#basketlive').append(league+match);
});
},
error: function (error) {
}
});
});
},
error: function (error) {
}
});
【问题讨论】:
-
如果服务器是你的,发送 CORS 头 - 如果不是 - 你不能修复它
I have been trying some things像什么?您需要代表客户端(代理)从您的服务器发出请求 -
您无法从请求端解决此问题。您向向提出请求的网站必须明确允许这样做。如果他们不这样做,那么您将无法对此进行直接的客户端脚本请求,而您将需要一个 CORS 代理。
-
而不是 CORS 代理(明天可能会消失)使用您自己的服务器来发出请求
-
这是最常见的 Stack Overflow 问题之一,请检查是否有人问过此问题。
标签: javascript jquery ajax api