1
我遇到了jQuery和IE的一個非常奇怪的問題。我在IE8中使用jQuery 1.4.4。我嘗試使用AJAX調用:jQuery AJAX成功處理程序未按預期運行
$.ajax({
url: '/events/do_something',
dataType: 'json',
data : params,
beforeSend : function() {
setPageStateLoading(true);
},
success : function(data){
doSomethingElse(data, false);
},
error : function(XMLHttpRequest) {
openErrorDialog(XMLHttpRequest.responseText);
},
complete : function(XMLHttpRequest, textStatus) {
setPageStateLoading(false);
}
});
儘管請求成功,但錯誤處理程序因分析錯誤而被調用。有沒有錯,返回的JSON(它完美的作品在Firefox),問題是線6229 jQuery中:
var ct = xhr.getResponseHeader("content-type") || "",
從而未能與「對象不支持此屬性或方法」,並導致解析錯誤。
現在我使用完整的處理程序與if語句作爲解決方法,但這不是一個非常好的主意。任何想法如何解決這個問題?
我們可以看到JSON嗎?我敢打賭,在某個地方有一個尾隨的逗號,它在IE中打破,但在其他瀏覽器中起作用。 – lonesomeday 2011-01-26 11:34:47