2013-02-23 68 views
0

我有以下問題:我想通過ajax從下面的代碼中獲取googlemaps api v3中的數據。它在Chrome和Firefox中運行良好,但不在IE中運行。我究竟做錯了什麼?Google地圖API v3 getJson不能在IE中工作

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

請添加您從IE獲得的錯誤消息以及正在發生的版本。 – 2013-02-23 18:28:00

回答

0

以下錯誤事件添加到您的Ajax調用

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

,讓我們知道您在IE中得到什麼錯誤信息,如果有的話。

編輯 - 聽起來你正在嘗試做一個跨域請求? 如果是這樣,請嘗試在您的ajax請求之前設置$.support.cors = true;

提取來源http://api.jquery.com/jQuery.support/

To enable cross-domain requests in environments that do not support cors yet but do allow cross-domain XHR requests (windows gadget, etc), set $.support.cors = true;

EDIT2 - 病患者假設你正在運行IE9,在這種情況下,你需要的jQuery插件在這裏找到: https://github.com/jaubourg/ajaxHooks/blob/master/src/xdr.js

也看到因此,對於這個答案更多關於爲什麼IE9需要插件(與Cors)的詳細信息:IE9 jQuery AJAX with CORS returns "Access is denied"

EDIT3 - 下載jQuery.XDomainRequest.js並在您的AJAX調用之前包含它。

+0

感謝您的幫助。我得到的錯誤是「無運輸」。 – user1889382 2013-02-23 19:21:26

+0

我添加了$ .support.cors = true;現在我收到一個新的錯誤:「拒絕訪問」。我真的不明白這一點,它仍然適用於Chrome和FF。 – user1889382 2013-02-23 22:09:35

+0

您是否閱讀過我上面發佈的鏈接?你需要發佈的插件,使其在IE9中工作。 – 2013-02-25 22:40:37