jQuery '行 4954 错误: 不支持该属性或方法' 的问题解决方法
作者:
这个问题只在IE下出现。诡异的是,对于出现这个问题的页面,重新刷新一下就又好了,Ajax 工作一切正常。顺便说一下,我的 jQuery 版本是 1.4.2。
解决方案(来自这里):
在 jQuery-1.4.2.js 中找到 4954 行,
return new window.XMLHttpRequest();
修改为
if(!$.browser.msie) {
return new window.XMLHttpRequest();
} else {
return new window.ActiveXObject("Microsoft.XMLHTTP");
}
Over.
原因大概是 IE7/8 对 XMLHttpRequest 的支持有一点儿问题,如果服务器端没有正确地发送 charset HTTP Header 就不能正常使用,但是页面加载完成之后可以通过解析 HTML Header 的方式判断 charset,因此第二次加载网页就正常了。
那么就让它们使用 ActiveXObject 吧。
参考英文原文说明:http://www.yiiframework.com/forum/index.php?/topic/9739-auto-complete-ajax-problems-in-ie-with-jquery-142/
在 jQuery-1.4.2.js 中找到 4954 行,
return new window.XMLHttpRequest();
修改为
复制代码 代码如下:
if(!$.browser.msie) {
return new window.XMLHttpRequest();
} else {
return new window.ActiveXObject("Microsoft.XMLHTTP");
}
Over.
原因大概是 IE7/8 对 XMLHttpRequest 的支持有一点儿问题,如果服务器端没有正确地发送 charset HTTP Header 就不能正常使用,但是页面加载完成之后可以通过解析 HTML Header 的方式判断 charset,因此第二次加载网页就正常了。
那么就让它们使用 ActiveXObject 吧。
参考英文原文说明:http://www.yiiframework.com/forum/index.php?/topic/9739-auto-complete-ajax-problems-in-ie-with-jquery-142/