0

我有以下问题:我正在尝试使用下面的代码通过 ajax 从 googlemaps api v3 获取数据。它在 Chrome 和 Firefox 中运行良好,但在 IE 中不行。我究竟做错了什么?

var lat;
$.ajax({
url: "url",
cache: false,
dataType: "json",
success: function(data) {      
lat = data.results[0].geometry.location.lat;
}                                                                                                   
});
4

1 回答 1

0

将以下错误事件添加到您的 Ajax 调用中

  success: function(data) {
     lat = data.results[0].geometry.location.lat;
    },
   error: function(xhr, status, error) {
     alert(status);
   }

让我们知道您在 IE 中收到的错误消息(如果有的话)。

编辑- 听起来你正在尝试做一个跨域请求?如果是这种情况,请尝试$.support.cors = true;在您的 ajax 请求之前进行设置。

取自http://api.jquery.com/jQuery.support/

要在尚不支持 cors 但允许跨域 XHR 请求(Windows 小工具等)的环境中启用跨域请求,请设置 $.support.cors = true;

EDIT2 - 我假设你正在运行 IE9,在这种情况下你需要一个 jQuery 插件在这里找到: https ://github.com/jaubourg/ajaxHooks/blob/master/src/xdr.js

另请参阅 SO 上的此答案,以获取有关 IE9(带有 cors)为什么需要插件的更多详细信息:带有 CORS 的 IE9 jQuery AJAX 返回“访问被拒绝”

EDIT3 - 下载jQuery.XDomainRequest.js并将其包含在您的 AJAX 调用之前。

于 2013-02-23T18:34:46.010 回答