访问控制导致不同呼叫的问题

时间:2015-10-22 04:03:01

标签: javascript ajax access-control

问题是我正在对同一个网站进行两次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没有?我想在联系页面所有者之前确认页面上的权限不是问题。

2 个答案:

答案 0 :(得分:0)

来自prediction.php的回复不包含任何Access-Control-Allow-Origin标头。您无法解决此问题,允许或限制对该资源的访问权限取决于网站所有者。

How does Access-Control-Allow-Origin header work?问题中的更多信息。

答案 1 :(得分:0)

如上所述,问题在于服务器,更具体地说是php文件。要解决Access-Control-Allow-Origin,只需添加:

即可
header('Access-Control-Allow-Origin: *');

到php文件的顶部。