我们在项目ajax中使用回调函数。 在11版之前的IE版本中,工作正常。 我们也使用
<meta http-equiv="X-UA-Compatible" content="IE=7" />
在IE 11中看起来像script.onreadystatechange和script.readyState重新添加了script.onload(http://msdn.microsoft.com/en-us/library/ie/bg182625%28v=vs.85%29.aspx)
现在在IE11中handleState不会调用。页面很冷。 试图将onreadystatechange更改为onload和xmlHttp = new ActiveXObject(“MSXML2.XMLHTTP.3.0”); to xmlHttp = new XMLHttpRequest();但它没有帮助。我想这没有用,因为我们使用兼容模式
我无法删除&lt; meta http-equiv =“X-UA-Compatible”content =“IE = 7”/&gt ;,因为此页面的许多功能在没有此代码的情况下会被破坏。
function callServer (request, xml, callback, callbackArgs) {
try {
//IE browser
xh= new ActiveXObject("MSXML2.XMLHTTP.3.0");
}
catch (e) {
//Firefox or Safari
xh=new XMLHttpRequest();
}
try {
xh.open("POST", request, true);
xh.onreadystatechange = function() { handleState(callback,callbackArgs); };
xh.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
xh.send(xml);
} catch(e) {}
}
function handleState(callback, callbackArgs) {
if (xh.readyState == 4) {
// call callback
}
}
快速修复的想法?