日期:2014-05-16  浏览次数:20569 次

(急)为什么我在VS2008下不能实现XMLHttpRequest对象?
各位大侠,小菜遇到一个很恼火的问题,望指教:
   我在VS2008环境下尝试以XMLHttpRequest对象实现局部刷新,可是在javascript中XMLHttpRequest居然是一个字段,无法实例化,更无法调用该对象的其他方法。经过多次尝试,包括判断条件格式什么的都改过无数次了,还是不行,请大侠们帮我看看,是不是要实例化这个对象需要在web.config文件下另行配置或者需要在Page指令下进行其他配置呢?
  (我这里看见的:只有ActivexObject 是一个类,其他的比如:window/XMLHttpRequest显示都是以字段德形式,最后一行xmlHttp根本没有Open()/Send()方法)
   以下是代码:


    <script language="javascript" type="text/javascript">
    var xmlHttp;
    var requestType = "";
    
    function  createXMLHttpRequest()
    {x
        if (ActiveXObject)a
       {
             xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
       }
       else if (XMLHttpRequest)
       {
            xmlHttp = new XMLHttpRequest();
       }       
    }
    
    function showDB(returestedList)
    {
        requestType = returestedList;
        createXMLHttpRequest();
        xmlHttp
    }
    
    
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
        <input id="btnOne" type="button" value="只显示第一页" onclick="return showDB('one')" /></div>
    </form>
    <p>
        <input id="btnAll" type="button" value="全部显示" onclick="return showDB('two')" /></p>
</body>

  
  
------解决方案--------------------
var xmlHttp = false;
   try {
     xmlHttp = new XMLHttpRequest();
   } catch (trymicrosoft) {
     try {
       xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
     } catch (othermicrosoft) {
       try {
         xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
       } catch (failed) {
         xmlHttp = false;
       }  
     }
   }
   
------解决方案--------------------
xmlhttprequest不需要配置web.config的,一些浏览器原本就支持xmlhttprequest,而不是asp.net支不支持xmlhttprequest,和asp.net无关


不过if(ActiveXObject)