当前位置: 代码网 > it编程>前端脚本>Ajax > webform使用ajax访问后端接口的两种方法小结

webform使用ajax访问后端接口的两种方法小结

2024年05月15日 Ajax 我要评论
第一种方法:ajax前后端交互,前端使用这种传参方式:json.stringify({obj:json.stringify(json_obj)}),而后端使用这种接参方式:public static

第一种方法:ajax前后端交互,前端使用这种传参方式:json.stringify({obj:json.stringify(json_obj)}),而后端使用这种接参方式:public static string mymethod(string obj),注意前后端参数的名称必须相同。

function login() {
            var username_str = $("#username").textbox("getvalue");
            var pwd_str = $("#password").textbox("getvalue");
            if (username_str != "" && pwd_str != "") {
                var json_obj = {
                    username: username_str,
                    password: pwd_str,
                };
                $.ajax({
                    type: "post",
                    url: "login.aspx/mymethod",
                    contenttype: "application/json; charset=utf-8",
                    datatype: "json",
                    data: json.stringify({obj:json.stringify(json_obj)}),//传递 json 对象,注意参数名需要与 webmethod 中的一致
                    success: function (result) {
                        var json_result_data = json.parse(result.d);
                    },
                    error: function (error) {
                        console.log(error);
                    }
                });
            }
        }
 /// <summary>
        /// 登录方法
        /// </summary>
        /// <param name="loginjsonobj">含有用户名和密码的json对象字符串</param>
        /// <returns></returns>
        [webmethod]
        public static string mymethod(string obj)
        {
            jobject data = new jobject(
                           new jproperty("jg", false)
            );
            // 解码 base64 并将 json 字符串转换为对象
            logininfo jsonobj = jsonconvert.deserializeobject<logininfo>(obj);
            string username_str = jsonobj.username.trim();
            string password_str = jsonobj.password.trim();
            string sqlstr = "select * from userinfo where username=@username";
            // 创建参数集合
            sqlparameter[] parameters = {
                         new sqlparameter("@username", username_str),
                     };
            datatable userinfo_dt = sqlhelper.executedatatable(sqlstr, parameters);
            if (userinfo_dt != null && userinfo_dt.rows.count > 0)
            {
                if (password_str.equals(userinfo_dt.rows[0]["password"].tostring().trim()))
                {
                    data["jg"] = true;
                }
            }
            return data.tostring();
        }

第二种方法:ajax前后端交互,前端使用这种传参方式:data: json.stringify(json_obj),而后端使用用这种接参方式:public static string login_method(string username,string password),参数名必须与json对象中的名称相同。

function login_2() {
    var username_str = $("#username").textbox("getvalue");
    var pwd_str = $("#password").textbox("getvalue");
    if (username_str != "" && pwd_str != "") {
        var json_obj = {
            username: username_str,
            password: pwd_str,
        };
        $.ajax({
            type: "post",
            url: "login.aspx/login_method",
            contenttype: "application/json; charset=utf-8",
            datatype: "json",
            data: json.stringify(json_obj),//传递 json 对象,注意参数名需要与 webmethod 中的一致
            success: function (result) {
                var json_result_data = json.parse(result.d);
            },
            error: function (error) {
                console.log(error);
            }
        });
    }
}
  
 /// <summary>
    /// 登录方法
    /// </summary>
    /// <param name="loginjsonobj">含有用户名和密码的json对象字符串</param>
    /// <returns></returns>
    [webmethod]
    public static string login_method(string username,string password)
    {
        jobject data = new jobject(
                       new jproperty("jg", false)
                   );
        string sqlstr = "select * from usertb where username=@username";
        // 创建参数集合
        sqlparameter[] parameters = {
                     new sqlparameter("@username", username),
                 };
        datatable userinfo_dt = sqlhelper.executedatatable(sqlstr, parameters);
        if (userinfo_dt != null && userinfo_dt.rows.count > 0)
        {
            if (password.equals(userinfo_dt.rows[0]["password"].tostring().trim()))
            {
                data["jg"] = true;
            }
        }
        return data.tostring();
    }

到此这篇关于webform使用ajax访问后端接口的两种方法的文章就介绍到这了,更多相关webform使用ajax访问后端接口内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com