【问题标题】:Access Control causing issues on different calls访问控制导致不同呼叫出现问题
【发布时间】:2016-01-21 06:31:00
【问题描述】:

问题是我正在对同一个网站进行两次 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 , 函数(结果){

            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); 
                }
            });
        });

就像我说的调用 1 工作正常,但调用 2 不行?在联系页面所有者之前,我想确认页面的权限没有问题。

【问题讨论】:

    标签: javascript ajax access-control


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      到php文件的顶部。

      【讨论】:

        猜你喜欢
        • 2016-03-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-14
        • 1970-01-01
        相关资源
        最近更新 更多