出处:http://www.cnblogs.com/kingboy2008/

利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法。

先来个简单的实例热热身吧。

1、无参数的方法调用

asp.net code:

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

  

注意:1.方法一定要静态方法,而且要有[WebMethod]的声明

JQuery code:

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、带参数的方法调用

asp.net code:

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 code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/// <reference path="jquery-1.4.2-vsdoc.js"/>  
$(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、返回数组方法的调用

asp.net code:

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 code:

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
/// <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;  
    });  
}); 

  

运行结果:

4、返回Hashtable方法的调用

asp.net code:

1
2
3
4
5
6
7
8
9
10
11
12
13
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;  

  

JQuery code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/// <reference path="jquery-1.4.2-vsdoc.js"/>  
$(function() {  
    $("#btnOK").click(function() {  
        $.ajax({  
            type: "Post",  
            url: "data.aspx/GetHash",  
            //记得加双引号  T_T  
            data: "{ 'key': 'haha', 'value': '哈哈!' }",  
            contentType: "application/json; charset=utf-8",  
            dataType: "json",  
            success: function(data) {  
                alert("key: haha ==> "+data.d["haha"]+"/n key: www ==> "+data.d["www"]);  
            },  
            error: function(err) {  
                alert(err + "err");  
            }  
        });  
   
        //禁用按钮的提交  
        return false;  
    });  
}); 

  

运行结果:

 5、操作xml

XMLtest.xml:

1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="utf-8" ?> 
<data> 
  <item> 
    <id>1</id> 
    <name>qwe</name> 
  </item> 
  <item> 
    <id>2</id> 
    <name>asd</name> 
  </item> 
</data> 

  

JQuery code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$(function() {  
    $("#btnOK").click(function() {  
        $.ajax({  
            url: "XMLtest.xml",  
            dataType: 'xml', //返回的类型为XML ,和前面的Json,不一样了  
            success: function(xml) {  
                //清空list  
                $("#list").html("");  
                //查找xml元素  
                $(xml).find("data>item").each(function() {  
                    $("#list").append("<li>id:" + $(this).find("id").text() +"</li>");  
                    $("#list").append("<li>Name:"+ $(this).find("name").text() + "</li>");  
                })  
            },  
            error: function(result, status) { //如果没有上面的捕获出错会执行这里的回调函数  
                alert(status);  
            }  
        });  
   
        //禁用按钮的提交  
        return false;  
    });  
}); 

  

转载于:https://www.cnblogs.com/weiios/p/3947858.html

JQuery Ajax调用asp.net后台方法相关推荐

  1. ajax调用asp.net,jQuery.ajax()调用asp.net后台方法(非常重要)

    http://www.cnblogs.com/zxhoo/archive/2011/01/30/1947752.html 用JQuery的$.ajax()可以很方便的调用asp.net的后台方法. 先 ...

  2. 原始ajax方式调用asp.net后台方法

    aspx页面: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Data.asp ...

  3. aspx后台调用前台jquery_jQuery调用Asp.Net后台方法

    常用的ajax就不讲了,这里主要是说通过ajax调用asp.net后台的cs文件暴露的方法. 前台: $("input[type='button'][value='GetOneDayLate ...

  4. ajax webmethod,JQuery直接调用asp.net后台WebMethod方法

    利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法.[WebMethod]   命名空间 1.无参数的方法调用, 注意:1.方法一定要静态方法,而且要有[WebMethod]的 ...

  5. webservers ajax,jQuery AJax调用asp.net webservers的实现代码

    aspx页面代码 .hover { cursor: pointer; /*小手*/ background: #ffc; /*背景*/ } .button { width: 150px; float: ...

  6. 转:Ajax调用Webservice和后台方法

    本次课程内容包括     • 客户端访问WebService基础     • 客户端访问PageMethod基础     • 错误处理     • 复杂数据类型使用基础     • 客户端代理使用细节 ...

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

    在asp.net webForm开发中,用Jquery ajax调用aspx页面的方法常用的有两种:下面我来简单介绍一下. (1)通过aspx.cs的静态方法+WebMethod进行处理 简单的介绍下 ...

  8. ajax,html,aspx,Net WebForm jQuery Ajax 传值到aspx后台

    1.在Net WebForm中,编写aspx文件,有时候想在后台编写类似WebAPI形式的方法.前台使用jQuery Ajax方式调用.[PS:jQuery ajax Get方式将直接走后台Page_ ...

  9. 【转】Jquery -Ajax 入门练习 Jquery.Ajax 调用后台函数,获取DataTable Json,Asp.net

    直接上图=============最后拷贝源码(图片清楚) ====================================================================== ...

  10. 使用jquery ajax调用后台方法 有时候不调用回调函数

    今天在编辑修改页面时遇到了一个很尴尬的问题,浪费了好多时间,问题描述: 使用jquery ajax调用后台方法,正确时弹出提示框,并且跳转到list列表页面.然而,写好了之后有时候会不跳转,直接刷新一 ...

最新文章

  1. AAAI 2020 | 通过解纠缠模型探测语义和语法的大脑表征机制
  2. linux下mysql定时备份数据库
  3. css中position属性(absolute/relative/static/fixed)
  4. linux 网卡配置不一致,linux环境下,双网卡配置不同网段后,路由问题
  5. nemesis什么车_狂野飙车9TrionNemesis介绍 S级车Trion复仇女神属性详解
  6. C#实现邮件发送的功能
  7. Backbone事件管理——Backbone.Events模块API结构
  8. Talking Data副总裁高铎:我们如何赋予大数据生命力
  9. PRINCE2认证的优势是什么?
  10. 共模电感适用的频率_共模电感使用特性及选材
  11. [JPA错误]javax.persistence.EntityNotFoundException: Unable to find xxx
  12. 【大家说英语】Work Rob Gives a Speech
  13. Linux常用文件目录指令(实操)
  14. 解决远程windows server12桌面复制文件大于2G出错问题
  15. 基因编辑最新研究成果进展(2021年11月)
  16. Disney Springs - 迪士尼之泉
  17. 怎么测试视频是哪个软件拍的,李子柒的视频是用什么设备拍摄的,又是用什么软件处理的?...
  18. live2d_碧蓝航线:老婆们在外服都长啥样?她惊艳四座,Live2D独此一家
  19. xml基础教程详细总结
  20. Python爬虫爬下IT之家图片

热门文章

  1. MacOS如何控制应用对麦克风和日历日程的访问
  2. 如何使用Wondershare UniConverter应用效果并调整音量
  3. 使用Blocs For Mac发布网站的方法
  4. KeyShot实例教程教你怎么模拟水面效果
  5. Mysql对字段进行分段统计
  6. Spring Data Jpa 查询返回自定义对象
  7. Android Studio 将github作为远程maven仓库
  8. 使用HTML编写简单的邮件模版
  9. python2和python3的编码区别
  10. 你在 Docker 中跑 MySQL?恭喜你,可以滚了!