本文主要是介绍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
这篇关于webform使用ajax访问后端接口的两种方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!