【问题标题】:Simple JQuery getJSON is not working in IE9简单的 JQuery getJSON 在 IE9 中不起作用
【发布时间】:2011-08-07 12:24:56
【问题描述】:

我正在尝试从 SimpleGeo 中读取类别列表...我的代码在 Chrome 和 FireFox 中运行良好,但在 IE 中失败。

$.getJSON("http://api.simplegeo.com/1.0/features/categories.json",function(json){
    sgCategories = json;
});

查看其他几篇帖子似乎提供了一些想法,但 API 似乎没有提供回调,而且我无法控制它们的格式...

https://stackoverflow.com/questions/6514457/getjson-or-ajax-requests-not-working-with-ie9 https://stackoverflow.com/questions/3517608/why-isnt-this-simple-bit-of-jquery-getjson-working-in-ie8

还有其他想法吗?

【问题讨论】:

  • 看起来像是跨域请求。可能IE不支持跨域请求?
  • 我现在无法检查 api doc,但该 func 数据中的第二个参数不是要发布的吗?尝试添加 null 作为第二个参数,我可能错了,但它是几秒钟的检查

标签: jquery getjson simplegeo


【解决方案1】:

根据您引用的其中一个链接,看来可能有解决办法。

尝试在 URL 中添加&format=jsonp&callback=?

如果你添加回调参数,我认为jQuery可能会调用你指定的回调。

【讨论】:

  • 不幸的是,添加其中一个或两个会导致它在所有浏览器中失败......似乎 SimpleGeo API 不支持它们。试图找到一种解决方法......令人烦恼,因为它在除 IE 之外的所有应用中都很好用,我可以通过以下方式轻松查看数据:http://api.simplegeo.com/1.0/features/categories.json
【解决方案2】:

所以...原来 SimpleGeo 允许您通过他们的 javascript 客户端 api 获取类别列表。

var sgClient = new simplegeo.Client('yourAccessKey');
sgClient.getFeatureCategories(function(err, data) {
    if (err) {
        console.log(err);
    } else {
        sgCategories = data;
    };
});

棘手...

【讨论】:

    【解决方案3】:

    jQuery.support.cors = true; 就是这样

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-17
      • 2017-09-05
      相关资源
      最近更新 更多