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

 更新时间:2023年11月29日 10:42:55   作者:864记忆  
这篇文章主要介绍了webform使用ajax访问后端接口的两种方法小结,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

第一种方法: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访问后端接口内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Ajax实现智能提示搜索功能

    Ajax实现智能提示搜索功能

    这篇文章主要为大家详细介绍了Ajax实现智能提示搜索功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • pushState、replaceState、onpopstate 实现Ajax页面的前进后退刷新

    pushState、replaceState、onpopstate 实现Ajax页面的前进后退刷新

    这篇文章主要介绍了pushState、replaceState、onpopstate 实现Ajax页面的前进后退刷新的相关资料,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2016-11-11
  • ajax struts2 下拉框赋值(适合所有)

    ajax struts2 下拉框赋值(适合所有)

    此代码适合所有下拉列表取值;一个项目所有的下拉列表只需要这一个公用方法,接下来为大家详细介绍下具体实现步骤,感兴趣的朋友可以参考下,希望可以帮助到你
    2013-03-03
  • ajax三级联动下拉菜单效果

    ajax三级联动下拉菜单效果

    这篇文章主要为大家详细介绍了ajax三级联动下拉菜单的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • 基于Ajax表单提交及后台处理简单的应用

    基于Ajax表单提交及后台处理简单的应用

    下面小编就为大家带来一篇基于Ajax表单提交及后台处理简单的应用。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • 关于Ajax跨域问题及解决方案详析

    关于Ajax跨域问题及解决方案详析

    这篇文章主要给大家介绍了Ajax跨域问题以及解决方案的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Ajax具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • 有关ajax的error与后台的异常问题解决

    有关ajax的error与后台的异常问题解决

    这篇文章主要介绍了关于ajax的error与后台的异常,需要的朋友可以参考下
    2014-02-02
  • Ajax跨域查询完美解决通过$.getJSON()实现

    Ajax跨域查询完美解决通过$.getJSON()实现

    浏览器安全上做了限制,禁止ajax跨域获得数据,可以通过jquery提供的$.getJSON()可以跨域获得JSON格式的数据,具体的实现如下,感兴趣的朋友可以参考下哈,希望对大家有所帮助
    2013-06-06
  • AJAX 验证框架13个

    AJAX 验证框架13个

    众所周知,验证,最好是在客户端尽量解决,以降低服务端资源开销;在目前AJAX流行的今天,基于AJAX的验证更能够为客户端验证提供丰富的机制和美观的交互效果。本文收集了13个比较通用的AJAX验证框架,与大家分享!
    2009-08-08
  • 使用AJAX实现分页

    使用AJAX实现分页

    这篇文章主要为大家详细介绍了AJAX实现分页的相关代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04

最新评论