JQuery直接调用asp.net后台WebMethod方法

简介:

利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法。
[WebMethod]   命名空间


1、无参数的方法调用, 注意:1.方法一定要静态方法,而且要有[WebMethod]的声明
后台<C#>:

1
2
3
4
5
6
7
using System.Web.Script.Services;   
  
[WebMethod]   
public static string SayHello()   
{   
      return  "Hello Ajax!" ;   
}

前台<jQuery>:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$( 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);   
             }   
         });   
  
         //禁用按钮的提交   
         return  false ;   
     });   
});

2、带参数的方法调用

后台<C#>:

1
2
3
4
5
6
7
using System.Web.Script.Services;  
    
[WebMethod]  
public static string GetStr(string str, string str2)  
{  
     return  str + str2;  
}

前台<JQuery>:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$( function () {     
     $( "#btnOK" ).click( function () {     
         $.ajax({     
             type:  "Post" ,     
             url:  "data.aspx/GetStr" ,     
             //方法传参的写法一定要对,str为形参的名字,str2为第二个形参的名字     
             data:  "{'str':'我是','str2':'XXX'}" ,     
             contentType:  "application/json; charset=utf-8" ,     
             dataType:  "json" ,     
             success:  function (data) {     
                 //返回的数据用data.d获取内容     
                   alert(data.d);     
             },     
             error:  function (err) {     
                 alert(err);     
             }     
         });     
    
         //禁用按钮的提交     
         return  false ;     
     });     
});

3、返回数组方法的调用

后台<C#>:

1
2
3
4
5
6
7
8
9
10
11
12
using System.Web.Script.Services;  
    
[WebMethod]  
public static List<string> GetArray()  
{  
     List<string> li =  new  List<string>();  
    
     for  (int i = 0; i < 10; i++)  
         li.Add(i +  "" );  
    
     return  li;  
}

前台<JQuery>:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
$( function () {     
     $( "#btnOK" ).click( function () {     
         $.ajax({     
             type:  "Post" ,     
             url:  "data.aspx/GetArray" ,     
             contentType:  "application/json; charset=utf-8" ,     
             dataType:  "json" ,     
             success:  function (data) {     
                 //插入前先清空ul     
                 $( "#list" ).html( "" );     
    
                 //递归获取数据     
                 $(data.d).each( function () {     
                     //插入结果到li里面     
                     $( "#list" ).append( "<li>"  this  "</li>" );     
                 });     
    
                 alert(data.d);     
             },     
             error:  function (err) {     
                 alert(err);     
             }     
         });     
    
         //禁用按钮的提交     
         return  false ;     
     });     
});   
/// <reference path="jquery-1.4.2-vsdoc.js"/>  
$( function () {  
     $( "#btnOK" ).click( function () {  
         $.ajax({  
             type:  "Post" ,  
             url:  "data.aspx/GetArray" ,  
             contentType:  "application/json; charset=utf-8" ,  
             dataType:  "json" ,  
             success:  function (data) {  
                 //插入前先清空ul  
                 $( "#list" ).html( "" );  
    
                 //递归获取数据  
                 $(data.d).each( function () {  
                     //插入结果到li里面  
                     $( "#list" ).append( "<li>"  this  "</li>" );  
                 });  
    
                 alert(data.d);  
             },  
             error:  function (err) {  
                 alert(err);  
             }  
         });  
    
         //禁用按钮的提交  
         return  false ;  
     });  
});
本文转自  小旭依然  51CTO博客,原文链接:http://blog.51cto.com/xuyran/1904850
相关文章
|
3月前
|
JavaScript
jQuery 遍历 方法
jQuery 遍历 方法
37 5
|
2月前
|
XML JavaScript 数据格式
jquery中html()方法的使用
jquery中html()方法的使用
29 1
|
2月前
|
前端开发 JavaScript
jQuery - AJAX load() 方法
jQuery load() 方法是简单但强大的 AJAX 方法。
53 6
|
3月前
|
JavaScript
jQuery parentsUntil() 方法
jQuery parentsUntil() 方法
31 10
|
3月前
|
JavaScript 前端开发
jQuery 杂项方法
jQuery 杂项方法
35 2
|
3月前
|
JavaScript
jQuery 效果 方法
jQuery 效果 方法
16 3
|
3月前
|
JavaScript 前端开发
jQuery - noConflict() 方法
jQuery - noConflict() 方法
25 5
|
3月前
|
JSON 前端开发 JavaScript
jQuery AJAX 方法
jQuery AJAX 方法
36 1
|
3月前
|
XML 前端开发 JavaScript
jQuery HTML / CSS 方法
jQuery HTML / CSS 方法
19 2
|
3月前
|
JavaScript
jQuery parents() 方法
jQuery parents() 方法
58 7