首页 > 代码库 > Ajax与ashx异步请求的简单案例

Ajax与ashx异步请求的简单案例

Ajax与ashx异步请求的简单案例:

前台页面(aspx):

<!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;        }    }}
View Code

好了!一个简单的Ajax异步请求就完成了。如果要与数据库交互的话,可以在ashx文件里面操作。

Ajax与ashx异步请求的简单案例