webform使用ajax訪問(wèn)后端接口的兩種方法小結(jié)
第一種方法:ajax前后端交互,前端使用這種傳參方式:JSON.stringify({obj:JSON.stringify(json_obj)}),而后端使用這種接參方式:public static string mymethod(string obj),注意前后端參數(shù)的名稱(chēng)必須相同。
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">含有用戶(hù)名和密碼的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ì)象中的名稱(chēng)相同。
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">含有用戶(hù)名和密碼的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)文章
Ajax實(shí)現(xiàn)的異步傳輸與驗(yàn)證示例代碼
Ajax異步傳輸應(yīng)用很廣當(dāng)用戶(hù)注冊(cè)時(shí),當(dāng)用戶(hù)剛一輸完,立即判斷用戶(hù)是否存在這就用到了異步傳輸2014-01-01
ajax中的async屬性值之同步和異步及同步和異步區(qū)別
在Jquery中ajax方法中async用于控制同步和異步,當(dāng)async值為true時(shí)是異步請(qǐng)求,當(dāng)async值為fase時(shí)是同步請(qǐng)求。ajax中async這個(gè)屬性,用于控制請(qǐng)求數(shù)據(jù)的方式,默認(rèn)是true,即默認(rèn)以異步的方式請(qǐng)求數(shù)據(jù)。2015-10-10
ajax與傳統(tǒng)web開(kāi)發(fā)的異同點(diǎn)
本文給大家介紹ajax與傳統(tǒng)web開(kāi)發(fā)的異同點(diǎn),涉及到ajax、web方面的知識(shí),感興趣的朋友跟著小編一起學(xué)習(xí)吧2015-10-10
解決Ajax加載JSon數(shù)據(jù)中文亂碼問(wèn)題
這篇文章主要介紹了解決Ajax加載JSon數(shù)據(jù)中文亂碼問(wèn)題,需要的朋友可以參考下2017-10-10
使用Yii整合的pjax(pushstate+ajax)實(shí)現(xiàn)無(wú)刷新加載頁(yè)面
本篇文章給大家介紹Yii整合pjax(pushstate+ajax)實(shí)現(xiàn)無(wú)刷新加載頁(yè)面,小伙伴跟著小編一起學(xué)習(xí)吧2015-09-09
基于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
編碼為GB2312網(wǎng)站讓AJAX接收的數(shù)據(jù)顯示支持中文
GB2312 網(wǎng)站AJAX接收的數(shù)據(jù)顯示支持中文2010-01-01
表單上傳功能實(shí)現(xiàn) ajax文件異步上傳
這篇文章主要為大家詳細(xì)介紹了表單上傳功能和文件上傳功能實(shí)現(xiàn),ajax文件異步上傳,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08

