首頁 > web前端 > js教程 > 主體

jquery.Ajax()方法呼叫Asp.Net後台的方法解析_jquery

WBOY
發布: 2016-05-16 17:00:10
原創
1211 人瀏覽過

利用JQuery的$.ajax()可以很方便的呼叫asp.net的後台方法。
先來個簡單的實例熱身吧。

1、無參數的方法呼叫
asp.net code:

複製程式碼



程式碼如下:


using System.Web.Script.Services;  

[WebMethod]   public static string SayHello !";  


using System.Web.Script.Services;

[WebMethod]
public static string SayHello()
{

     return "Hello Ajax!";
}


一定要注意:靜態方法一定要注意:靜態方法方法,而且要有[WebMethod]的宣告

JQuery code:複製程式碼

程式碼如下:



程式碼如下:


/> ="jquery-1.4.2-vsdoc.js"/>  
$(function() {  
    $("#btnOK").click  >            //使用post方式  
           type: "Post",            url: "data.aspx/SayHello",  
            contentType: "application/json; charset=utf-8",  
            dataType: "json",  
              //回傳的資料使用data.d取得內容  
                alert(data.d);
            },  
            error: function(err) { );
            }  
        });  

  ;  
    });  
}); 
///         $.ajax({
                     //方法所在頁面與方法名稱
            url: "data.aspx/SayHello",
           類型: "json",
            success: function(data) {
                //返回的資料使用資料使用資料使用資料資料值
                         error: function(err) {
               🎜>        });

        //停用按鈕的提交
        return false;
    });
});



});
結果:

2、帶參數的方法呼叫
asp.net code:

複製程式碼



程式碼如下:


using System.Web.Script.Services;  

[WebMethod]   public static string GetStr(string str. >    return str str2;  


using System.Web.Script.Services;

[WebMethod]
public static string GetStr(string str, string str2)
{

    return str str2;
}
複製程式碼 程式碼如下:
///   
$(function() {  
    $("#btnOK").click(function() {  
   : "Post",  
            url: "data.aspx/GetStr",  
            //化    data: "{'str ':'我是','str2':'XXX'}",  
            contentType: "application/json; charset=utf-8",                success: function( data) {  
                //回復的資料使用data.d取得內容  
                  },  
            error: function(err) {               }  
        });  

   
    });  
}); 
///
$(function() {
    $("#btnOK").click(function() {
        $. type: "Post",
            url: "data.aspx/GetStr",
            //傳參的寫法與參考的寫法一定為參考的名稱為第二個名詞為參照的名字。 🎜>            data: "{'str':'我是','str2':'XXX'}",
          dataType: "json" ,
            success: function(data) {
                 alert(data.d);
            },
            錯誤: function(err) {
                alert(err);
           
        //停用按鈕的提交
        return false;
    });
});



});
運行結果:

下面進入進階應用程式羅

3、返回數組方法的調用
asp.net code:

複製代碼程式碼如下:

using System.Web.Script.Services;  

[WebMethod]  
public static List GetArray()  li = new List();  

    for (int i = 0; i     return li;  

using System.Web.Script.Services;

[WebMethod]
public static List GetArray()
{    List li = new List();


    for (int i = 0; i         li.Add(i "");

    return li;

}

JQuery code:



複製代號:

///   
$(function() {  
    $("#btnOK") {  
    $("#btnOK").cclickftion( ) {  
        $.ajax({  
            type: "Post, asp 
            contentType: "application/json; charset=utf-8",  
            dataType: "json",  
             先清空ul  
                $("#list").html("");  

                //遞歸取得資料  
                       //插入結果到li裡面  
                    $("#list").append("
  • " this "
  • ");  
                    });  

                 },  
                error: function(err) {               }  
            });  
        });  
    }); 
    ///
    $(function() {
        $("#btnOK").click(function() {
       >            type: "Post",
                url: "data.aspx/GetArray ,
                dataType: "json",
                success : function(data) {
                    //插入前先清除於ul
             
                    //已擷取資料
                          //插入結果到li裡面
                        $("#list").append("
  • " this "
  • ");
                    });

                    alert(data.d);
                             alert(err);
                }    

            //停用按鈕的提交
            return false;
        });
    });


    });
    運行結果:

    4、返回Hashtable方法的調用
    asp.net code:

    複製代碼程式碼如下:

    using System.Web.Script.Services;  
    using System.Collections;  

    [WebMethod]  
    public static Hashtable GetHstring(string value)  
    {  
        Hashtable hs = new Hashtable();  

        hs.Add(” >
        return hs;  

    using System.Web.Script.Services;
    using System.Collections;

    [WebMethod]public static Hashtable GetHash(string key,string value)

    {
        Hashtable hs = new Hashtable();

        hs.Add("www", "yahooooooo");

        hs.Add(key, value);


        return hs;
    }
        return hs;
    }
    JQuery code:



    複製程式碼 程式碼如下:
    //   
    $(function() {  
        $("#btnOK").click(function() {       type: "Post",  
                url: "data.aspx/GetHash",  
              data: "{ 'key': 'haha', 'value': '哈哈!' }",  
                contentType: "application/json; charset=utf-8",  
            success: function(data) {  
                    alert("key: haha​​ === > " data.d["haha"] "n key: www ==> " data.d["www"]);  
                },               }  
            });       });  
    }); 
    // /
    $(function() {
        $("#btnOK").click(function() {
       ({
                type: "Post",
                🎜>            data: "{ 'key': 'haha', ' value': '哈哈! ' }",
                contentType: "application/json; charset=utf-8",
           function(data) {
                    alert("key: haha​​ = => " data.d["haha"] "n key: www ==> " data.d["www"]);
                },
                alert( err "err");
                }
            });

            //停用按鈕的提交
            return false;
        });
    });



    });
    運行結果:

    5、操作xml
    XMLtest.xml:

    複製代碼代碼如下:

     

      ; 
        1
        qwe 
    物件項目 15>;項目>; 
        2
        asd名稱>; 
      專案>; 
    資料> 
      專案>; 
    資料> 
      專案>; 
    資料> 


     
        1
        qwe名稱>
     
     
        2
        asd名稱>
     

    🎜>  複製程式碼 程式碼如下:

    $(function() {  
        $("#btnOK").click(function() {  
         test.xml",  
                dataType: 'xml', //返回的類型為XML ,和前面的Json,不同了  
                  //清空list  
                    $("#list") .html("");  
                    //尋找xml元素   KVM 線上購物毛線網站建置北京快遞? ").each(function() {  
                        $("#list").append("
  • id:" $(this).f          $(" #list").append("
  • Name:" $(this).find("name").text() "
  • ");  
                 > error: function(result, status) { //如果沒有上面的捕捉出錯會執行這裡的回調函數  
                         });  

            //停用按鈕的提交  
            return false;  
        });  
    }); 
    $(function() {p. $.ajax({
                url: "XMLtest.xml",
                  success: function(xml) {
                    //                 //找出xml元素
                    $(xml).find("data>item"). each(function() {
                       $("#list").append("
  • id:" $(this).find("id"#list").append("
  • id:" $(this).find("id"#list").append("
  • id:" $(this).find("id").text() "
  • text"
                       ‧ $("#list").append("
  • Name:" $(this).find("name 
    },
                error: function(result, status) { //如果沒有上面的捕獲出錯會執行這裡的回呼函數
              }
            });

            //停用按鈕的提交
            return false;
        });
    });


  • 相關標籤:
    來源:php.cn
    本網站聲明
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    熱門教學
    更多>
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板
    關於我們 免責聲明 Sitemap
    PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!