|
最近正在拜读<<Ajax in Action>>这本书,运用书中知识,结合.net,写了这篇用.net 处理xmlHttp发送异步请求的文章。
我们要达到的目的是点击按钮,获得服务器的当前时间,aspx的html如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Linkedu.Web.WebWWW.Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>测试</title> <script language="javascript" src="javascript/prototype/extras-array.js"></script> <script language="javascript" src="javascript/xmlHttp.js"></script> <script language="javascript" src="javascript/eventRouter.js"></script> <script language="javascript" src="Default.js"></script> <script language="javascript"> </script> </head> <body> <form id="form1" runat="server"> 用Post方式获得服务器的当前时间 <input id="btnTestPost" type="button" value="Post" /> 用Get方式获得服务器的当前时间 <input id="btnTestGet" type="button" value="Get" /> <div id="divResult"></div> </form> </body> </html>
要用javascript 发送xmlHttp 请求必须解决的问题是跨浏览器的支持。我们把xmlHttp的发送封装在一个javascript对象中,同时在这个对象中解决了跨浏览器支持的问题。代码如下:
/* url-loading object and a request queue built on top of it */ /**//* namespacing object */ var net=new Object(); net.READY_STATE_UNINITIALIZED=0; net.READY_STATE_LOADING=1; net.READY_STATE_LOADED=2; net.READY_STATE_INTERACTIVE=3; net.READY_STATE_COMPLETE=4;
|