|
最近正在拜读<<Ajax in Action>>这本书,运用书中知识,结合.net,写了这篇用.net 处理xmlHttp发送异步请求的文章。
我们要达到的目的是点击按钮,获得服务器的当前时间,aspx的html如下: 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对象中,同时在这个对象中解决了跨浏览器支持的问题。代码如下:
xmlHttp对象 /**//* 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;
/**//*--- content loader object for cross-browser requests ---*/ net.xmlHttp=function(url, onload, params, method, contentType, onerror){ this.req=null; this.onload=onload; this.onerror=(onerror) ? onerror : this.defaultError; if(typeof(method) == "undefined" method == null) {
上一篇:ASP.NET2.0中用ICallbackEventHandler实现客户端与服务器端异步交互
下一篇:ASP.NET 2.0-选用DataSet或DataReader
|