(急)为什么我在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>
//if(ActiveXObject)//=========>>if(window.ActiveXObject)
[解决办法]
var xmlHttp; function createXmlHttpRequest() { if(window.XMLHttpRequest) { xmlHttp=new XMLHttpRequest(); if(xmlHttp.overrideMimeType) { xmlHttp.overrideMimeType("text/xml"); } } else if(window.ActiveXObject) { try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } if(!xmlHttp) { window.alert("你的浏览器不支持创建XMLhttpRequest对象"); } return xmlHttp; }