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