我正在尝试从JSON中的Web API检索数据。 而且我得到了“No'Access-Control-Allow-Origin'标头出现在请求的资源上。”错误,我理解为什么我得到这个,但不知道接下来我需要做什么才能让我从不同的域获取数据。我最近很快就学会了JSONP和东西,但我很难理解我需要做什么。
$(document).ready(function() {
$.getJSON('http://www.thewebsite.net/json',
function(value) {
document.write(value.id);
});
});
答案 0 :(得分: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