各种浏览器不支持从jquery获取JSON数据

时间:2011-06-08 11:30:12

标签: jquery json multiple-browsers

我有一个html页面,其中我正在取出静态json文件的数据,该文件被重命名为.js文件,并在本地服务器上放置一些位置说10.211.20.62:8080/case1/county_json.js

我使用的代码在6,7,8中正常工作,但在谷歌浏览器,Firefox和其他浏览器中没有。

Javascript代码

function setfilter() {
$.getJSON('http://10.211.20.62:8080/case1/county_json.js', function (data) {
}).error(function(jqxhr, textStatus, errorThrown) {
alert(errorThrown);   
});
}


$(document).ready(function () { 
jQuery.support.cors = true;
setfilter();
});

应该是什么问题?请帮助!

2 个答案:

答案 0 :(得分:0)

如果我理解正确,您的HTML页面与数据不在同一台服务器上。那么问题就是同源政策(见https://developer.mozilla.org/en/Same_origin_policy_for_JavaScript)。 MSIE可能有效,因为您对本地区域有特殊规则。但一般情况下,您无法从其他服务器加载JSON数据。

答案 1 :(得分:0)

如果网址包含字符串“callback =?” (或类似的,由服务器端API定义),请求被视为JSONP(http://api.jquery.com/jQuery.getJSON/)。

尝试:

$ .getJSON('http://10.211.20.62:8080/case1/county_json.js?callback=?',function(data){   })。error(function(jqxhr,textStatus,errorThrown){     警报(errorThrown);
});