0

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

我正在使用在 ie 6、7、8 中正常工作的代码,但在 google chrome、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();
});

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

4

2 回答 2

0

如果 URL 包含字符串“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) { alert(errorThrown);
});

于 2011-06-09T06:16:06.283 回答
0

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

于 2011-06-08T11:35:19.747 回答