0

我使用 $.post 在我的网页中发送和接收响应。但它在 Internet Explorer 中不起作用。我使用了其他方式的 Ajax。我必须创建 xmlhttprequest 对象。

我的代码是

     var xmlhttp;
     if (window.XMLHttpRequest)
       {// code for IE7+, Firefox, Chrome, Opera, Safari
       xmlhttp=new XMLHttpRequest();
       }
     else
       {// code for IE6, IE5
         xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
          }
          xmlhttp.onreadystatechange=function()
         {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
       {
       document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
        }
      }
     xmlhttp.open("POST","demo_post2.asp",true);
    xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
      xmlhttp.send("fname=Henry&lname=Ford");

这适用于除 ie-10 之外的所有浏览器。我编写如下代码来支持 ie-10。

   if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp=new ActiveXObject("Msxml2.XMLHTTP.6.0");
      }

它不适用于 mozila、safari,而是使用 ie-10。我还没有检查过 ie-7。这是一个冲突。请给我任何帮助......

4

1 回答 1

0

尝试使用第一种方法并封装您的发送功能,如下所示

setTimeout(function () {
xmlhttp.send();
}, 0);
于 2013-08-10T05:56:07.163 回答