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文件里面操作。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。