就在今天,我發現我有IE瀏覽器的一個重大問題..jQuery的AJAX請求對IE9的回調是不確定的
我有一個關於接收系統和用戶每5秒的各種細節,並更新值的環必要時在頁面上。
var query = '?name=value&other=bar';
if($('input.something').attr('checked') == 'checked') {
query += '&more=info';
}
構建查詢後,我使用$不用彷徨檢索信息:
$.get('json_builder.php' + query, function(callback) {
alert(callback);
});
我的回調是一個JSON我剛剛通過檢查在HTML等所需的值構建查詢字符串,我轉換爲一個對象使用$ .parseJSON(callback);和我使用該對象來訪問我的數據。
我在所有瀏覽器(IE除外)中獲得JSON回調警報,在IE中我得到「未定義」。
但是,請求通過,就像在開發人員工具部分,我看到響應實際上存在,但由於某種原因變量「回調」保留「未定義」。
我試過使用$ .getJSON而不是$ .get - 結果相同。
您是否試過使用'$ .ajax'調用而不是'get'快捷方式?我過去曾經在'get'和'post'方面遇到過一些問題,而'ajax'的調用工作正常。 –
是的,我試過沒有使用它的快捷方式,但無濟於事。 – Matt
你有沒有嘗試將'cache'選項設置爲'false'?最簡單的方法是$ .ajaxSetup({cache:false});'以便它適用於所有後續的AJAX請求。您可能還想爲該AJAX請求顯式指定'json'的數據類型(也將避免您必須自己解析響應)。 –