我對歌劇/火狐/ WebKit瀏覽器做AJAX查詢異步JavaScript的JSON查詢失敗與IE Unicode字符只有
$.ajax({
url: (some url),
dataType: "json",
error: function(xhr, textStatus, errorThrown) {
(error handler)
},
data : requestData,
success: function(data) {
(success handler)
}
});
完美的作品。然而,當使用IE和requsestData包含一些非ASCII字符的字符串(例如ł)時,返回錯誤並且xhr狀態爲12031.請注意,即使將url替換爲某個現有文檔也不會給404狀態(但它在Opera等中),所以我認爲查詢不會被執行。
關於提到的重複:不幸的是它沒有幫助我。嘗試encodeURIComponent沒有結果(並不奇怪,導致jquery自動這樣做,當對象傳遞給requestData)。即使硬編碼查詢(作爲字符串傳遞),但它不工作。
更新: 如果在IE中緩存,查詢將使用非ASCII數據。這意味着我可以複製準備好的XHR URL,將其粘貼到另一個IE選項卡中,然後使用ajax刷新原始頁面並且不會收到錯誤。
再次更新: 固定。沒有正確編碼的是ajax查詢中給出的引用URL。它包含與非ascii字符的散列(但是如果緩存,工作正常)。感謝你付出的努力。
可能的重複http://stackoverflow.com/questions/2473316/jquery-ajax-is-not-sending-utf-8-to-my-server-only-in-ie? – 2011-01-28 00:06:04
鏈接的問題有更直接的解決方案,推薦,但不是重複。 – 2012-06-25 08:39:52