问题是我正在对同一个网站进行两次ajax调用,但网页不同。这两个网页都是公开的,但是这个网页给了我Access-Control-Allow-Origin问题。
致电1:
$.ajax({
type: 'GET',
url: 'http://osrm.jrgold.me/ParkingAvailability.php',
data: '',
crossDomain:true,
success: function (response) {
response = JSON.parse(response);
for (var i = 0; i < response.lots.length; i++) {
$('#' + response.lots[i].lot).html(response.lots[i].space);
}
},
error: function (req, status, err) {
}
});
致电2:
$。getJSON(url,function(result){
var x = result.route_summary.total_time/60;
var data = {timeValue: x };
$.ajax({
type: "GET",
url: "http://osrm.jrgold.me/prediction.php",
data: data,
crossDomain:true,
success: function (response) {
alert(response);
},
error: function (req, status, err) {
//alert(req[1] + " " +status + ": " + err);
}
});
});
就像我说Call 1工作正常,但是呼叫2没有?我想在联系页面所有者之前确认页面上的权限不是问题。
答案 0 :(得分:0)
来自prediction.php
的回复不包含任何Access-Control-Allow-Origin
标头。您无法解决此问题,允许或限制对该资源的访问权限取决于网站所有者。
答案 1 :(得分:0)
如上所述,问题在于服务器,更具体地说是php文件。要解决Access-Control-Allow-Origin
,只需添加:
header('Access-Control-Allow-Origin: *');
到php文件的顶部。