日期:2014-05-16  浏览次数:20998 次

Asp.net中JQuery、ajax调用后台方法总结

通过上一篇文章实例的实现,整个过程当中学习到很多知识点,了解了Jquery、Ajax在asp.net中的运用,加以总结,其实原理都是一样的,理解了一种,其他的注意很少的区别就可以了、灵活运用:


1、有参数的方法调用


示例代码如下:
前台jQuery代码:
$(function() { 

 知道的一种就是ajax调后台的方法。


1、有参数的方法调用  

示例代码如下:

 

前台jQuery代码:

$(function() {
  var browers = browersEstimate();
  var params = '{browersType:"' + browers + '"}';
  $.ajax({
      type: "POST",                   //提交方式
      url: "Default.aspx/RecordData",   //提交的页面/方法名
      data: params,                   //参数(如果没有参数:null)
      dataType: "json",                   //类型
      contentType: "application/json; charset=utf-8",     
      success: function(data) {     
              //返回的数据用data.d获取内容     
                alert(data.d);     
          },     
          error: function(err) {     
              alert(err);     
         });   
     });


 

这个是jquery下Ajax方法调用后台方法。

 

这个方法有几点需要说明:

 

type方式必须是post,再有就是后台的方法必须是静态的,方法声明要加上特性[System.Web.Services.WebMethod()],传递的参数个数也应该和方法的参数相同。

 

asp.net后台方法:

  [System.Web.Services.WebMethod()]
    public static void RecordData(string browersType)
    {
        if (BrowserControl.Counters == null)
        {
            BrowserControl.InitData(0);
        }

        if (browersType == "")
        {
            browersType = "Other";
        }

        BrowserControl.AddOneByBrowserType(browersType);
        if (BrowserControl.WriteInDataBase())
        {
            BrowserControl.OldTotalCount = BrowserControl.Counters.Count;
        }
        else
        {
            BrowserControl.OldTotalCount = 0;
        }
    }

2、无参数的方法调用

 

 

示例代码:

 

前台jQuery代码

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