Jquery ajax调用后台aspx后台文件方法(不是ashx)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jquery ajax调用后台aspx后台文件方法(不是ashx)相关的知识,希望对你有一定的参考价值。

在asp.net webForm开发中,用Jquery ajax调用aspx页面的方法常用的有两种:下面我来简单介绍一下。

  (1)通过aspx.cs的静态方法+WebMethod进行处理

   简单的介绍下WebMethod方法的用法

   1.修饰符主要用public static修饰

   2.方法前面加上[WebMethod]属性表明这是WebMethod方法

   3.前台html页面(Client端)访问时要使用post方法,和后台.cs文件进行数据交互,否则会返回整个html页面。

   4.当后台页面返回数据后,前台html页面需要用data.d接收返回的json字符串。

   5.访问url:http://abc.com/abc.aspx/ajax方法

   aspx.cs代码:

using System.Web.Services; 

[WebMethod]
public static string SayHello()
{
    return "Hello Ajax!";
}

   前台jquery代码:

$(function() {     
    $("#btn").click(function() {     
        $.ajax({              
            type: "post", //要用post方式                 
            url: "Demo.aspx/SayHello",//方法所在页面和方法名
            contentType: "application/json; charset=utf-8",     
            dataType: "json",     
            success: function(data) {                    
                alert(data.d);//返回的数据用data.d获取内容
            },
            error: function(err) {     
                alert(err);     
            }     
        });
    });     
});
 

 

 html代码:

<form id="form1" runat="server">
<div>
    <asp:Button ID="btn" runat="server" Text="验证用户" />
</div>
</form>

 (2)通过一般处理程序ashx进行处理;

   Jquery代码:

 $.ajax({  
           type: "POST",  
           url: "S_CBFBM.ashx",  
           data: { ZBM: p_zdm },  
           beforeSend: function() {  
            //$("#div_load").visible = "true;  
           },  
           success: function(msg) {  
           //$("#div_load").visible = false;  
           $("#ds").html("<p>" + msg + "</p>");  
           $("#CBFBM").val(msg);  
                }  
        });  

  ashx.cs代码:

    <%@ WebHandler Language="C#" Class="AjaxHandler" %>  
    using System;  
    using System.Web;  
      
    public class AjaxHandler : IHttpHandler {  
        public void ProcessRequest (HttpContext context) {  
            context.Response.ContentType = "text/plain";  
            if (context.Request["name"].ToString() == "admin" &&  
                context.Request["pass"].ToString() == "admin")  
            {  
                context.Response.Write("Y");  
            }  
            else  
            {  
                context.Response.Write("N");  
            }   
        }  
       
        public bool IsReusable {  
            get {  
                return false;  
            }  
        }  
    }  

 

 

以上是关于Jquery ajax调用后台aspx后台文件方法(不是ashx)的主要内容,如果未能解决你的问题,请参考以下文章

JQuery使用Ajax调用后台方法

JQuery使用Ajax调用后台方法

asp.net Ajax调用Aspx后台方法

jquery.ajax请求aspx和ashx的异同 Jquery Ajax调用aspx页面方法

ajax请求aspx.cs后台方法

C#实现简易ajax调用后台方法