jquery访问ashx文件示例

转自原文 jquery访问ashx文件示例

.ashx 文件用于写web handler的。.ashx文件与.aspx文件类似,可以通过它来调用HttpHandler类,它免去了普通.aspx页面的控件解析以及页面处理的过程。其实就是带HTML和C#的混合文件。

  .ashx文件适合产生供浏览器处理的、不需要回发处理的数据格式,例如用于生成动态图片、动态文本等内容。很多需要用到此种处理方式。此文档提供一个简单的调用ashx文件的Demo,并贴出关键文件的源码

以下为Demo中Login.ashx文件中的源码:

public class Login : IHttpHandler {
     
    public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "application/json";
        //GET方式获取传递的数据
        //string username = context.Request.QueryString["username"];
        //string password = context.Request.QueryString["password"];
 
        //POST方式获取传递的数据
        string username = context.Request.Form["username"];
        string password = context.Request.Form["password"];
        string message = null;
        if (string.IsNullOrEmpty(username))
        {
            message = "用户名不能为空";
            context.Response.Write("{"success":false,"message":"" + message + ""}");//此JSON格式非常重要,否则会执行jquery的的error函数
            context.Response.End();
        }
        if (string.IsNullOrEmpty(password))
        {
            message = "密码不能为空";
            context.Response.Write("{"success":false,"message":"" + message + ""}");
            context.Response.End();
        }
        if (!string.IsNullOrEmpty(username) && !string.IsNullOrEmpty(password))
        {
            if (username.ToUpper() == "ADMIN" && password == "123")
            {                
                message = "登录成功";
                context.Response.Write("{"success":true,"message":"" + message + ""}");
            }
            else
            {
                message = "用户名或密码错误";
                context.Response.Write("{"success":false,"message":"" + message + ""}");
            }
        }
        context.Response.End();
        
    }
  
    public bool IsReusable {
        get {
            return false;
        }
    }
 
}
View Code

以下为html中的源码:

<title>jsquery访问ashx文件</title>
    <script language="javascript" type="text/javascript" src="Scripts/jquery-1.4.1.min.js"></script>
    <script language="javascript" type="text/javascript">
        function login() {
            $.ajax({
                url: 'common/handler/Login.ashx',
                type: 'POST',
                data: { 'username': $("#txtUsername").val(), 'password': $("#txtPassword").val() },
                dataType: 'json',
                timeout: 50000,
                //contentType: 'application/json;charset=utf-8',
                success: function (response) {                    
                    alert(response.message);
                },
                error: function (err) {
                    alert("执行失败");                    
                }
 
            });
        }
    </script>
 
 
    <div style="400px; height:300px; margin:0 auto; background:#c0c0c0;">
        <dl style=" 270px;">
            <dd><span>用户名:</span><input style=" 150px;" id="txtUsername" type="text"></dd>
            <dd><span>密  码:</span><input style=" 150px;" id="txtPassword" type="password"></dd>
            <dd><input style=" 65px; height:23px; float:right;" onclick="login()" value="登录" type="button"></dd>
        </dl>
     
 
 
</div>
View Code
原文地址:https://www.cnblogs.com/arxive/p/7220118.html