IT俱乐部 Ajax webform使用ajax访问后端接口的两种方法小结

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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);
                    }
                });
            }
        }
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
/// <summary>
       /// 登录方法
       /// </summary>
       /// 含有用户名和密码的json对象字符串
       ///
       [WebMethod]
       public static string mymethod(string obj)
       {
           JObject data = new JObject(
                          new JProperty("jg", false)
           );
           // 解码 Base64 并将 JSON 字符串转换为对象
           LoginInfo jsonObj = JsonConvert.DeserializeObject(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对象中的名称相同。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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);
            }
        });
    }
}
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
/// <summary>
   /// 登录方法
   /// </summary>
   /// 含有用户名和密码的json对象字符串
   ///
   [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访问后端接口内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部!

本文收集自网络,不代表IT俱乐部立场,转载请注明出处。https://www.2it.club/navsub/ajax/9495.html
上一篇
下一篇
联系我们

联系我们

在线咨询: QQ交谈

邮箱: 1120393934@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部