webform使用ajax訪問(wèn)后端接口的兩種方法小結(jié)
第一種方法:ajax前后端交互,前端使用這種傳參方式:JSON.stringify({obj:JSON.stringify(json_obj)}),而后端使用這種接參方式:public static string mymethod(string obj),注意前后端參數(shù)的名稱必須相同。
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 對(duì)象,注意參數(shù)名需要與 WebMethod 中的一致 success: function (result) { var json_result_data = JSON.parse(result.d); }, error: function (error) { console.log(error); } }); } }
/// <summary> /// 登錄方法 /// </summary> /// <param name="loginJsonObj">含有用戶名和密碼的json對(duì)象字符串</param> /// <returns></returns> [WebMethod] public static string mymethod(string obj) { JObject data = new JObject( new JProperty("jg", false) ); // 解碼 Base64 并將 JSON 字符串轉(zhuǎn)換為對(duì)象 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"; // 創(chuàng)建參數(shù)集合 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),參數(shù)名必須與json對(duì)象中的名稱相同。
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 對(duì)象,注意參數(shù)名需要與 WebMethod 中的一致 success: function (result) { var json_result_data = JSON.parse(result.d); }, error: function (error) { console.log(error); } }); } }
/// <summary> /// 登錄方法 /// </summary> /// <param name="loginJsonObj">含有用戶名和密碼的json對(duì)象字符串</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"; // 創(chuàng)建參數(shù)集合 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(); }
到此這篇關(guān)于webform使用ajax訪問(wèn)后端接口的兩種方法的文章就介紹到這了,更多相關(guān)webform使用ajax訪問(wèn)后端接口內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
pushState、replaceState、onpopstate 實(shí)現(xiàn)Ajax頁(yè)面的前進(jìn)后退刷新
這篇文章主要介紹了pushState、replaceState、onpopstate 實(shí)現(xiàn)Ajax頁(yè)面的前進(jìn)后退刷新的相關(guān)資料,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11ajax三級(jí)聯(lián)動(dòng)下拉菜單效果
這篇文章主要為大家詳細(xì)介紹了ajax三級(jí)聯(lián)動(dòng)下拉菜單的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03基于Ajax表單提交及后臺(tái)處理簡(jiǎn)單的應(yīng)用
下面小編就為大家?guī)?lái)一篇基于Ajax表單提交及后臺(tái)處理簡(jiǎn)單的應(yīng)用。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09有關(guān)ajax的error與后臺(tái)的異常問(wèn)題解決
這篇文章主要介紹了關(guān)于ajax的error與后臺(tái)的異常,需要的朋友可以參考下2014-02-02Ajax跨域查詢完美解決通過(guò)$.getJSON()實(shí)現(xiàn)
瀏覽器安全上做了限制,禁止ajax跨域獲得數(shù)據(jù),可以通過(guò)jquery提供的$.getJSON()可以跨域獲得JSON格式的數(shù)據(jù),具體的實(shí)現(xiàn)如下,感興趣的朋友可以參考下哈,希望對(duì)大家有所幫助2013-06-06