我有一个小页面,我需要从另一个域获取JSON。如果这样做:如何使用jQuery从另一个域获取JSON
$.get("http://dev.frevend.com/json/users.json", function(data) {
console.log(data);
alert("Load was performed.");
});
我得到一个错误。我明白为什么会抛出这个错误,但我不知道如何避免。 我没有访问服务器。
XMLHttpRequest cannot load http://dev.frevend.com/json/users.json . No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin ' http://localhost:3000 ' is therefore not allowed access.
我还试图用JSONP,但正如我在这种情况下,服务器应该明白响应包与回调函数,因为我有一个SyntaxError。
是否可以使用JSONP发出此请求? 我试图
$.ajax({
url: "http://dev.frevend.com/json/users.json",
dataType: "jsonp",
jsonpCallback: "logResults"
});
function logResults(data) {
console.log(data);
}
,但得到
Uncaught SyntaxError: Unexpected token :
JSON是有效的,我查了。
的可能重复http://stackoverflow.com/questions/28547288/no-access -control-allow-origin-header-is-present-on-the-requested-resource-err。还有其他一些关于它的问题。 –
服务器不允许来自其他域的请求分开。这是一个服务器端配置,您无法访问服务器就无法更改它。查看:https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS – Strahdvonzar
是否http://dev.frevend.com/json/users.json在您的控制之下? @arthur – Nandakumar