博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JQuery AJAX请求aspx后台方法
阅读量:4312 次
发布时间:2019-06-06

本文共 3175 字,大约阅读时间需要 10 分钟。

转自:https://www.cnblogs.com/xujingyang/p/5560646.html

 

利用JQuery封装好的AJAX来请求aspx的后台方法,还是比较方便的,但是要注意以下几点:

 

  1、首先要在方法的顶部加上[WenMethod]的特性(此特性要引入using System.Web.Services;命名空间)

  2、其次方法一定要是静态(static)方法。

 

下面我做了几个不同的调用后台方法的例子:

 

 1、不带参数返回string方法

 

    前台代码:

1  //不带参数返回string方法2             $.ajax({3                 type: "post",4                 url: "后台返回json数组.aspx/hello",5                 contentType:"Application/json;charset=utf-8",6                 success: function (msg) {7                     alert(msg.d);8                 }9             })
View Code

  后台代码:

1  /// 2     /// 不带参数返回字符串方法3     /// 4     /// 
5 [WebMethod]6 public static string hello()7 {8 return "hello world!";9 }
View Code

 

2、带参数返回string方法

  前台代码:

1 //带参数返回string方法 2             $.ajax({ 3                 type: "post", 4                 url: "后台返回json数组.aspx/sayHi", 5                 data: "{\"name\":\"小明\",\"age\":\"18\"}", 6                 contentType: "Application/json;charset=utf-8", 7                 success: function (msg) { 8                     alert(msg.d); 9                 }10             })
View Code

后台代码:

1 ///  2     /// 带参数返回string方法 3     ///  4     ///  5     ///  6     /// 
7 [WebMethod] 8 public static string sayHi(string name ,int age) 9 {10 return string.Format("大家好,我叫{0},我今年{1}岁了!",name,age);11 }
View Code

 

 

3、后台返回LIST集合

    前台代码:

1  //后台返回LIST集合 2             $.ajax({ 3                 type: "post", 4                 url: "后台返回json数组.aspx/jiazai", 5                 data: "{\"name\":\"小明\"}", 6                 contentType: "Application/json; charset=utf-8", 7                 //dataType:"json", 8                 success: function (msg) { 9                     $(msg.d).each(function () {10                         alert(this);11                     })12                 }13             })
View Code

    后台代码:

1 ///  2     /// 带参数返回集合方法 3     ///  4     ///  5     /// 
6 [WebMethod] 7 public static List
jiazai(string name) 8 { 9 List
ls = new List
();10 ls.Add(name);11 return ls;12 }
View Code

 

 

最后添加一个标准的写法:前台的额

1 //标准的写法: 2 $.ajax({ 3      type: "post", 4      dataType: "json", 5      contentType: "application/json", //注意:WebMethod()必须加这项,否则客户端数据不会传到服务端 6      data:{如上所述},//注意:data参数可以是string个int类型 7      url: "List.aspx/DeleteNews",//模拟web服务,提交到方法 8      // 可选的 async:false,阻塞的异步就是同步 9      beforeSend:function(){10           // do something.11           // 一般是禁用按钮等防止用户重复提交12           $("#btnClick").attr({disabled:"disabled"});13           // 或者是显示loading图片14      },15      success: function (data) {16           alert("success: " + data.d);//注意这里:必须通过data.d才能获取到服务器返回的值17           // 服务端可以直接返回Model,也可以返回序列化之后的字符串,如果需要反序列化:string json = JSON.parse(data.d);18           // 有时候需要嵌套调用ajax请求,也是可以的19      },20      complete: function(){21           //do something.22           $("#btnClick").removeAttr("disabled");23           // 隐藏loading图片24      },25      error: function (data) {26           alert("error: " + data.d);27      }28 });
View Code

 

转载于:https://www.cnblogs.com/ssda/p/8048063.html

你可能感兴趣的文章
详细理解“>/dev/null 2>&1”
查看>>
suse如何创建定时任务?
查看>>
suse搭建ftp服务器方法
查看>>
centos虚拟机设置共享文件夹并通过我的电脑访问[增加smbd端口修改]
查看>>
文件拷贝(IFileOperation::CopyItem)
查看>>
MapReduce的 Speculative Execution机制
查看>>
大数据学习之路------借助HDP SANDBOX开始学习
查看>>
Hadoop基础学习:基于Hortonworks HDP
查看>>
为什么linux安装程序 都要放到/usr/local目录下
查看>>
Hive安装前扫盲之Derby和Metastore
查看>>
永久修改PATH环境变量的几种办法
查看>>
大数据学习之HDP SANDBOX开始学习
查看>>
Hive Beeline使用
查看>>
Centos6安装图形界面(hdp不需要,hdp直接从github上下载数据即可)
查看>>
CentOS7 中把yum源更换成163源
查看>>
关于yum Error: Cannot retrieve repository metadata (repomd.xml) for repository:xxxxxx.
查看>>
2020-11-18
查看>>
Docker面试题(二)
查看>>
【NOI 2018】归程(Kruskal重构树)
查看>>
注册用户
查看>>