修改getJSON以使用CORS

时间:2014-04-01 19:50:59

标签: javascript jquery ajax getjson same-origin-policy

我正在寻找允许使用$ .getJSON进行跨域访问的方法。我遇到的解决方案表明使用CORS是解决这个问题的方法。但大多数解决方案都采用通用的ajax格式。

我无法使用JSONP,因为我从我无法访问的服务器获取数据。有没有办法使用$ .getJSON来修改此代码来获取数据?

$.getJSON(jsonURL, function(res){
    console.log(JSON.stringify(res));
});

或者我必须为CORS使用ajax格式吗?

2 个答案:

答案 0 :(得分:1)

  

我无权访问的服务器

我想,这会打破你的脖子。 您需要某种访问服务器或联系有人。至少您必须调整HTTP-Header才能输入您的域Access-Control-Allow-Origin是关键字。

查看MDN

答案 1 :(得分:0)

如果您有权为加载JS脚本的页面设置HTTP响应标头,那么您可以使用CORS发送跨域请求。但是,旧版浏览器不支持此功能。

您需要设置Access-Control-Allow-Origin标题,例如

Access-Control-Allow-Origin: *

或者

Access-Control-Allow-Origin: http://host-of-other-site.com 

https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS