aspx html ajax,当前aspx中的ajax访问当前.cs里的方法

在使用ajax做异步请求时,都要建一个aspx或者ashx页面配合使用,如此一来,如果在一个项目中ajax程序多了,势必会产生一堆的附加页面,虽然于程序本身无碍,但那一堆文件看上去总觉得有伤大雅。那么可不可以丢掉这些.ashx和.aspx,选择一种更简练的方式来做ajax程序呢。

答案是肯定的,那就是:WebMethod。将普通页面的方法公布为WebMethod,以Javascript形式访问。

1 方法要public static修饰,返回类型最好是string。

2 方法前添加[WebMethod] 特性。

3 Client端访问时要使用Post方法,和Json作为数据形式进行交互。否则会整页HTML返回。

4 在jQuery访问时,回调中的data.d才时真正的返回内容。

5 访问URL为: http://abc.com/abc.aspx/GetTime 如有个GetTime的公共静态方法。

JavaScript:

$(function () {

$("#btn").click(function () {

var num1 = $("#num1").val();

var num2 = $("#num2").val();

$.ajax({

type: "POST",//

url: "Default.aspx/Add",

data: "{num1:'"+num1+"',num2:'"+num2+"'}",

contentType: "application/json",

dataType: "json",

success: function (data) {

$("#num3").val(data.d);

},

error: function (msg) {

alert(msg.status);

}

});

});

});

aspx.cspublic partial class Default : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

}

[WebMethod]

public static int Add(int num1, int num2)

{ return num1 + num2; }

}

这里对几个参数做一下简单的说 明,type:请求的类型,这里必须用post 。WebMethod方法只接受post类型的请求。contentType: 发送信息至服务器时内容编码类型。我们这里一定要用application/json 。url:请求的服务器端处理程序的路径,格式为"文 件名(含后缀)/方法名"data:参数列表。注意,这里的参数一定要是json格式的字符串,记住是字符串格式,如:" {aa:11,bb:22,cc:33 , ...}"。如果你写的不是字符串,那jquery会把它实序列化成字符串,那么在服务器端接受到的就不是json格式了,且不能为空,即使没有参数也要 写成"{}",如上例。dataType:服务器返回的数据类型。必须是json,其他的都无效。因为 webservice 是一json格式返回数据的,其形式为:{"d":"......."}。success:请求成功后的回调函数。你 可以在这里对返回的数据做任意处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值