function addRequest(req) {
try {
request = new XMLHttpRequest();
} catch (e) {
try{
request = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try {
request = new ActiveXObject("Microsoft.XMLHttp");
} catch (e) {
alert("XMLHttpRequest error: " + e);
}
}
}
request.open("GET", req, true);
request.send(null);
return request;
}
正如你所看到的,IE显然失败了我试图提出请求的所有3种方式。我一直在进行大量搜索以尝试查找可能存在的问题,但是据我所读过的所有帐户,上面发布的代码都应该有用。
我没有使用jquery用于AJAX,但我已经看到它建议当其他人遇到httprequest对象的问题。我可以用几行jquery代替上面的混乱,并假设它会照顾IE的丑陋吗?
谢谢!
答案 0 :(得分:5)
我没有使用jquery用于AJAX,但是我 看到它推荐别人有 遇到了httprequest对象的问题。 我可以替换上面的混乱 有几行jquery和 假设它将照顾IE的 丑?
简答:是的。
尽管jquery语法的执行方式不同,但您不会显式创建请求并发送请求。它全部包含在一个功能中。例如。来自http://api.jquery.com/jQuery.get/
$.get("test.cgi", { name: "John", time: "2pm" },
function(data){
alert("Data Loaded: " + data);
});
您可以忘记浏览器互操作性问题。只要你及时了解jquery发布:)爱它
答案 1 :(得分:1)
不同版本的IE有不同的方式来引用XMLHTTP对象。
它与您计算机上安装的MSXML库有关。您运行的OS / IE版本是什么?
尝试运行Windows Update。一个奇怪的解决方案,但可以在这里工作。