JQuery直接调用asp.net后台WebMethod方法

http://www.cnblogs.com/PearlRan/p/4833044.html

        function inputchenk() {
        var value = document.getElementById("txtUserName").value;
        if (value == "") {
            alert("用户名不能为空!");
            return false;
        }
        value = document.getElementById("txtPassWord").value;
        if (value == "") {
            alert("密码不能为空!");
            return false;
        }
        value = document.getElementById("txtCheckCode").value;
        if (value == "") {
            alert("验证码不能为空!");
            return false;
        }
        else {
            var isNext = false;
            $.ajax({
                type: "Post",
                url: "Login.aspx/GetCode",
                contentType: "application/json;charset=utf-8",
                dataType: "json",
                async: false,
                success: function (res) {
                    if (res.d == value) {
                        isNext = true;
                    }
                    else {
                        alert("验证码不正确!");
                        //isNext = true;
                    }
                },
                error: function (xmlReq, err, c) {
                    alert(err);
                }
            });
            return isNext;                             
        }            
    }


        $.ajax({
            type: "Post",
            url: "Login.aspx/GetCode1",
            data: "{'msg':'hello'}",
            contentType: "application/json;charset=utf-8", 
            dataType: "json",
            success: function (res) {
                alert(res.d);
                //$("#dataShow").text("success:" + res.d); // 注意有个d,至于为什么通过chrome看响应吧,O(∩_∩)O。
            },
            error: function (xmlReq, err, c) {
                //$("#dataShow").text("error:" + err);
            }
        });

利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法。

[WebMethod] 命名空间
1、无参数的方法调用, 注意:1.方法一定要静态方法,而且要有[WebMethod]的声明
后台
using System.Web.Script.Services;

[WebMethod]
public static string SayHello()
{
return "Hello Ajax!";
}

前台:
$(function() {
$("#btnOK").click(function() {
$.ajax({
//要用post方式
type: "Post",
//方法所在页面和方法名
url: "data.aspx/SayHello",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
//返回的数据用data.d获取内容
alert(data.d);
},
error: function(err) {
alert(err);
}
});

    //禁用按钮的提交   
    return false;   
});   

});

2、带参数的方法调用

后台
using System.Web.Script.Services;

[WebMethod]
public static string GetStr(string str, string str2)
{
return str + str2;
}

前台:
$(function() {
$("#btnOK").click(function() {
$.ajax({
type: "Post",
url: "data.aspx/GetStr",
//方法传参的写法一定要对,str为形参的名字,str2为第二个形参的名字
data: "{'str':'我是','str2':'XXX'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
//返回的数据用data.d获取内容
alert(data.d);
},
error: function(err) {
alert(err);
}
});

    //禁用按钮的提交   
    return false;   
});   

});

3、返回数组方法的调用

后台
using System.Web.Script.Services;

[WebMethod]
public static List GetArray()
{
List li = new List();

for (int i = 0; i < 10; i++)
    li.Add(i + "");

return li;

}

前台:
///
$(function() {
$("#btnOK").click(function() {
$.ajax({
type: "Post",
url: "data.aspx/GetArray",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
//插入前先清空ul
$("#list").html("");

            //递归获取数据
            $(data.d).each(function() {
                //插入结果到li里面
                $("#list").append("<li>" + this + "</li>");
            });

            alert(data.d);
        },
        error: function(err) {
            alert(err);
        }
    });

    //禁用按钮的提交
    return false;
});

});

posted on   雪夜  阅读(205)  评论(0编辑  收藏  举报
编辑推荐:
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
阅读排行:
· C# 13 中的新增功能实操
· Ollama本地部署大模型总结
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(4)
· langchain0.3教程:从0到1打造一个智能聊天机器人
· 2025成都.NET开发者Connect圆满结束
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示