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

D-N*_*ice 2 javascript ajax jquery 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;
Run Code Online (Sandbox Code Playgroud)

}

正如你所看到的,IE显然失败了我试图提出请求的所有3种方式.我一直在做大量的搜索,试图找到可能存在的问题,但是据我所知,我上面发布的代码应该可行.

我没有使用jquery用于AJAX,但是当其他人遇到与httprequest对象有关的问题时,我已经看过它.我可以用几行jquery代替上面的混乱,并假设它会照顾IE的丑陋吗?

谢谢!

Jac*_*cob 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);
   });
Run Code Online (Sandbox Code Playgroud)

您可以忘记浏览器互操作性问题.只要你及时了解jquery发布:)爱它