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

运用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 = "" +
                        "" + eval('(' + data.d + ')')[i].UserName + "" +
                        "" + eval('(' + data.d + ')')[i].Chinese + "" +
                        "" + eval('(' + data.d + ')')[i].Math + "" +
                        "" + eval('(' + data.d + ')')[i].English + "" +
                        "" + sumFn(parseInt(eval('(' + data.d + ')')[i].Chinese), parseInt(eval('(' + data.d + ')')[i].Math), parseInt(eval('(' + data.d + ')')[i].English)) + "" +
                        "";
                $("#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写的不对以及后台获取时要跟前台的一样。

你可能感兴趣的:(ajax)