运用ajax和jquey直接调用Aspx.cs后台的方法

本文介绍如何使用Ajax和jQuery直接调用Aspx.cs后台的静态方法。强调了方法需标记为[WebMethod],前端接收后台JSON数据时需通过data.d获取,以及前端向后台传递数据时需注意方法的static属性和数据格式的匹配。

运用ajax和jquey直接调用Aspx.cs后台的方法

注意:后台的方法必须是静态的,方法之前必须加上[WebMethod]


一:前台接收后台传过来的json

前台js

$.ajax({
        type: "post",
        url: "List.aspx/GetList",
        dataType: "json",
        contentType: "application/json",
        success: function (data) {
            for (var i = 0; i < data.d.length; i++) {
                var tr = "<tr>" +
                        "<td>" + eval('(' + data.d + ')')[i].UserName + "</td>" +
                        "<td>" + eval('(' + data.d + ')')[i].Chinese + "</td>" +
                        "<td>" + eval('(' + data.d + ')')[i].Math + "</td>" +
                        "<td>" + eval('(' + data.d + ')')[i].English + "</td>" +
                        "<td id='hj'>" + sumFn(parseInt(eval('(' + data.d + ')')[i].Chinese), parseInt(eval('(' + data.d + ')')[i].Math), parseInt(eval('(' + data.d + ')')[i].English)) + "</td>" +
                        "</tr>";
                $("#tb_list").append(tr);
            }
        }
    });

后台方法

第一步:引用
        using System.Web.Services;

第二步:
        [WebMethod]
        public static string GetList()
        {
            DataTable table = GetDT();//获取数据源
            if (table.Rows.Count > 0)
            {
                string json = DataTableToJson(table);//将table转换为json格式
                return json;
            }
            else
            {
                return "";
            }
        }

注意:在写ajax获取对象的值的时候总是出错,最后才知道要用 data.d , eval(‘(’ + data.d + ‘)’)[i].UserName 来获取。

二:后台接收前台传来的json

前台js

$.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        url: "List.aspx/GetJson",//参数,这里是一个json语句
        data: "{ 'student': '"+jsonT+"' }",
        success: function (data) {
            var result = data.d;
            alert(result);
        },
        error: function (err) {
            alert("err:" + err);
        }
    });

后台

[WebMethod]
public static string GetJson(string student)
{
    string getjson = student;
    return "OK";
}

注意:前台传值给后台时,后台总是断点进不去方法,可能是你方法没有static关键字,或者是js中传值的data写的不对以及后台获取时要跟前台的一样。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值