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();
    }

秋风写于淄博,业务咨询与技术交流:Q375172665

相关推荐

  1. webform使用ajax访问接口方法

    2023-12-05 23:46:05       39 阅读
  2. |压缩Base64图片方式

    2023-12-05 23:46:05       10 阅读
  3. vue使用提供接口

    2023-12-05 23:46:05       15 阅读
  4. vue 前端参值接收方式

    2023-12-05 23:46:05       15 阅读
  5. Springboot使用kafka方式

    2023-12-05 23:46:05       34 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-05 23:46:05       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-05 23:46:05       20 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-05 23:46:05       20 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-05 23:46:05       20 阅读

热门阅读

  1. React Hooks(实例及详解)

    2023-12-05 23:46:05       27 阅读
  2. ARM MCU SWD离线调试器

    2023-12-05 23:46:05       31 阅读
  3. .sketch的文件转.psd文件

    2023-12-05 23:46:05       37 阅读
  4. 【无标题】

    2023-12-05 23:46:05       46 阅读
  5. 代码解读:Zero-shot 视频生成任务 Text2Video-Zero

    2023-12-05 23:46:05       49 阅读
  6. 解读文生视频大模型ModelScopeT2V技术报告

    2023-12-05 23:46:05       43 阅读
  7. 【音频】Glitch、降噪相关

    2023-12-05 23:46:05       34 阅读
  8. 如何使用Go与MQTT进行通信

    2023-12-05 23:46:05       27 阅读
  9. C语言初学4:C 存储类

    2023-12-05 23:46:05       43 阅读
  10. 如何拆解Unity 2022.3版本的AssetBundle

    2023-12-05 23:46:05       45 阅读
  11. Mybatis-plus逻辑删除

    2023-12-05 23:46:05       35 阅读