IE中的XMLHttpRequest错误在Chrome / FF中没有问题

时间:2010-05-17 03:27:10

标签: javascript jquery ajax internet-explorer xmlhttprequest

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的丑陋吗?

谢谢!

2 个答案:

答案 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。一个奇怪的解决方案,但可以在这里工作。