JQuery AJAX请求aspx后台方法

时间:2022-09-08 19:22:48

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

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

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

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

1、不带参数返回string方法

前台代码:

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

后台代码:

  /// <summary>
/// 不带参数返回字符串方法
/// </summary>
/// <returns></returns>
[WebMethod]
public static string hello()
{
return "hello world!";
}

2、带参数返回string方法

前台代码:

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

后台代码:

 /// <summary>
/// 带参数返回string方法
/// </summary>
/// <param name="name"></param>
/// <param name="age"></param>
/// <returns></returns>
[WebMethod]
public static string sayHi(string name ,int age)
{
return string.Format("大家好,我叫{0},我今年{1}岁了!",name,age);
}

3、后台返回LIST集合

前台代码:

  //后台返回LIST集合
$.ajax({
type: "post",
url: "后台返回json数组.aspx/jiazai",
data: "{\"name\":\"小明\"}",
contentType: "Application/json; charset=utf-8",
//dataType:"json",
success: function (msg) {
$(msg.d).each(function () {
alert(this);
})
}
})

后台代码:

 /// <summary>
/// 带参数返回集合方法
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
[WebMethod]
public static List<string> jiazai(string name)
{
List<string> ls = new List<string>();
ls.Add(name);
return ls;
}

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

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

JQuery AJAX请求aspx后台方法的更多相关文章

  1. jquery&period;ajax请求aspx和ashx的异同 Jquery Ajax调用aspx页面方法

    1.jquery.ajax请求aspx 请求aspx的静态方法要注意一下问题: (1)aspx的后台方法必须静态,而且添加webmethod特性 (2)在ajax方法中contentType必须是“a ...

  2. Jquery Ajax调用aspx页面方法

    Jquery Ajax调用aspx页面方法 在asp.net webform开发中,用jQuery ajax传值一般有几种玩法 1)普通玩法:通过一般处理程序ashx进行处理: 2)高级玩法:通过as ...

  3. Jquery Ajax调用aspx页面方法 &lpar;转载&rpar;

    在asp.net webform开发中,用jQuery ajax传值一般有几种玩法 1)普通玩法:通过一般处理程序ashx进行处理: 2)高级玩法:通过aspx.cs中的静态方法+WebMethod进 ...

  4. asp&period;net Ajax调用Aspx后台方法

    Ajax调用的前提(以aspx文件为例:) 1.首先需要在aspx文件后台中引用using System.Web.Services; 2.需要调用的方法必须是公共的(public).静态的(stati ...

  5. jQuery Ajax请求提交 后台getParameter接收不到数据

    今天遇到的问题,总结一下 jQuery的$ajax({ contentType:"application/json",  //发送信息至服务器时内容编码类型. }) 这样的方式提交 ...

  6. ASP&period;NET 让ajax请求webform后台方法

    $.ajax({ type: "POST", url: ".aspx/getSubjectDirection", data: JSON.stringify({ ...

  7. Jquery progressbar通过Ajax请求获取后台进度演示

    项目源代码下载:http://download.csdn.net/detail/nuptboyzhb/6262253 1.简介 本文主要演示Jquery progressbar的进度条功能.js通过a ...

  8. jquery Ajax请求示例,jquery Ajax基本请求方法示例

    jquery Ajax请求示例,jquery Ajax基本请求方法示例 ================================ ©Copyright 蕃薯耀 2018年5月7日 https: ...

  9. jQuery ajax请求错误返回status 0和错误error的问题

    上周发现一个jQuery ajax请求错误返回status 0和错误error的问题,responseText是"error",状态码是0而不是200: $.ajax({ type ...

随机推荐

  1. JSON学习笔记一 —— 一些与移动端交互产生JSON数据的方法

    /**     * 测试的返回JSon方法,正式的不会用     * @author MrHandler     * @param reqCode     * @param joinStr     * ...

  2. Android ScrollView中的组件设置android&colon;layout&lowbar;height&equals;&quot&semi;fill&lowbar;parent&quot&semi;不起作用的解决办法

    例子,在ScrollView下加入的组件,无论如何也不能自动扩展到屏幕高度. 布局文件. [html] <?xml version="1.0" encoding=" ...

  3. 记一次zookeeper集群搭建错误的排除

    zookeeper官网上的文档说得很清楚. http://zookeeper.apache.org/doc/r3.5.1-alpha/zookeeperAdmin.html#sc_designing ...

  4. Codeforces Round &num;279 &lpar;Div&period; 2&rpar; E&period; Restoring Increasing Sequence 二分

    E. Restoring Increasing Sequence time limit per test 1 second memory limit per test 256 megabytes in ...

  5. magento设置订单状态

    <?php require_once('app/Mage.php');umask(0);Mage::app('default'); $order = Mage::getModel('sales/ ...

  6. SourceTree克隆仓库时,总是提示输入密码

    1.SourceTree的“工具”-“选项”-“一般”,配置上SSH秘钥: 2.将SSH密钥,配置到GitLab里: 3.仓库的“源路径 / URL”,填写SSH地址:

  7. 一个平时写程序通用的Makefile样例

    //需要目标名和程序名字相同 .PHONY:clean all //伪目标 CC=gcc CFLAGS=-Wall -g BIN= //目标 all:$(BIN) %.o:%.c $(CC) $(CF ...

  8. idl生成&period;h &period;c文件

    1.从命令行执行 设置INCLUDE.LIB等,可先运行vsvars32.bat(C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\ ...

  9. &period;NET Core微服务之基于Apollo实现统一配置中心

    Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.关于统一配置中心与Apollo 在微服务架构环境中,项目中配置文件比较繁杂,而且不同环境的不同配置修改相对频繁,每次发布都需要对应修改 ...

  10. jquery中val属性操作