• asp.net——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文件里面调用其他操作类。

  • 相关阅读:
    Myeclipse快捷键
    Resharper 的快捷键
    jQuery模块自由组合方案
    CTE
    Nhibernate3以上单元测试
    第三方控件下载篇
    10 个 Visual Studio 原生开发的调试技巧
    Nhibernate为hbm.xml配置文件添加智能提示(VS2010)
    Win7下nginx默认80端口被System占用
    Nginx本地配置
  • 原文地址:https://www.cnblogs.com/witeem/p/4153690.html
Copyright © 2020-2023  润新知