XMLHTTP的用处很多,这里只说我们需要的,就是无刷新的与server通信,看这段代码: <script language="javascript"> xml = new ActiveXObject("Microsoft.XMLHTTP"); var post=" ";//构造要携带的数据 xml.open("POST","http://localhost:7001/TestWL/index.jsp",false);//使用POST方法打开一个到服务器的连接,以异步方式通信 xml.setrequestheader("content-length",post.length); xml.setrequestheader("content-type","application/x-www-form-urlencoded"); xml.send(post);//发送数据 var res = xml.responseText;//接收服务器返回的数据 document.write(res); </script>
豁然开朗,这段代码就是打开一个HTTP连接,以标准的HTTP格式传递数据,如果你喜欢,可以用XML的格式来传递。更改一下xml对象的构造方式就可以兼容Mozilla和Netscape。下面来写一个轮询,每隔一段时间刷新一次用户列表,当然,是不需要刷新页面的: <html> <head><title>探测器</title> <script language="javascript"> function detect() { xml = new ActiveXObject("Microsoft.XMLHTTP"); var post=" ";//构造要携带的数据 xml.open("POST","http://localhost:7001/TestWL/index.jsp",false);//使用POST方法打开一个到服务器的连接,以异步方式通信 xml.setrequestheader("content-length",post.length); xml.setrequestheader("content-type","application/x-www-form-urlencoded"); xml.send(post);//发送数据 var res = xml.responseText;//接收服务器返回的数据 list.innerText=res; setTimeout(“detect()”,5000);//每隔5秒钟轮询一次 } </script> <body onload=”detect()”> <a id=”list”></a> </body> </html>