JQuery.getJSON - 'Access-Control-Allow-Origin'

问题描述 投票:0回答:1

我正在尝试从JSON中的Web API检索数据。而且我得到了“No'Access-Control-Allow-Origin'标头出现在请求的资源上。”错误,我理解为什么我得到这个,但不知道接下来我需要做什么才能让我从不同的域获取数据。我最近很快就了解了JSONP和东西,但我很难理解我需要做什么。

$(document).ready(function() {

$.getJSON('http://www.thewebsite.net/json',
 function(value) { 

    document.write(value.id); 
});

});
jquery getjson
1个回答
2
投票

好的,如果你知道相同的原始策略,你知道默认情况下浏览器只能向同一个主机发出请求。一种方法是在服务器(PHP)上调用服务器端脚本,然后PHP获取远程JSON,并将数据返回到您的javascript。搜索JSONP和CORS以寻找替代解决方案。

JS:

$(document).ready(function () {
    $.getJSON(
        '/proxy.php',
        {
            id: 5
        },
        function (response) {
            var data = response.data;
            // do something with data
        }
    );
});

proxy.php:

    $id = (integer) $_GET['id'];
    $response = file_get_contents('www.some-remote-site.com/api/id=' . $id);

    return $response
© www.soinside.com 2019 - 2024. All rights reserved.