Ajax与ashx异步请求的简单案例:
<!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 src="js/jquery-1.5.1.js" type="text/javascript"></script> <script type="text/javascript"> function gettext() { var intxt = $("#intxt").val(); $.ajax({ type: "POST",cache: false,url: 'OutText.ashx',data: { InText: intxt },dataType: "text",beforeSend: function () { },success: function (data) { var outtext = document.getElementById("<%=outtxt.ClientID %>"); outtext.innerHTML = data; },error: function (XmlHttpRequest,textStatus,errorThrown) { alert(XmlHttpRequest.responseText); } }); } </script> </head> <body> <form id="form1" runat="server"> <div> <input id="intxt" type="text" size="20" onblur="gettext()"/> <asp:Label ID="outtxt" runat="server"></asp:Label> </div> </form> </body> </html>
type: 传递方式。
cache:是否使用缓存。
url:接收的URL地址。
data:传递参数。
datatype:传递参数的格式。
beforeSend:局部事件,请求开始时触发。
success:请求成功事件。
error:请求失败事件。
下面是OutText.ashx文件:
<%@ WebHandler Language="C#" Class="OutText" %> using System; using System.Web; public class OutText : IHttpHandler { public void ProcessRequest (HttpContext context) { context.Response.ContentType = "text/plain"; HttpRequest Request = context.Request; string intxt = context.Request["InText"].ToString(); context.Response.Write(intxt); context.Response.End(); } public bool IsReusable { get { return false; } } }