我有一个html页面,其中我正在取出静态json文件的数据,该文件被重命名为.js文件,并在本地服务器上放置一些位置说10.211.20.62:8080/case1/county_json.js
我使用的代码在6,7,8中正常工作,但在谷歌浏览器,Firefox和其他浏览器中没有。
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();
});
应该是什么问题?请帮助!
答案 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);
});