webform使用ajax訪問后端接口的兩種方法小結(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 對象,注意參數(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對象字符串</param>
/// <returns></returns>
[WebMethod]
public static string mymethod(string obj)
{
JObject data = new JObject(
new JProperty("jg", false)
);
// 解碼 Base64 并將 JSON 字符串轉(zhuǎn)換為對象
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對象中的名稱相同。
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 對象,注意參數(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對象字符串</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訪問后端接口的兩種方法的文章就介紹到這了,更多相關(guān)webform使用ajax訪問后端接口內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
ajax中的async屬性值之同步和異步及同步和異步區(qū)別
在Jquery中ajax方法中async用于控制同步和異步,當async值為true時是異步請求,當async值為fase時是同步請求。ajax中async這個屬性,用于控制請求數(shù)據(jù)的方式,默認是true,即默認以異步的方式請求數(shù)據(jù)。2015-10-10
使用Yii整合的pjax(pushstate+ajax)實現(xiàn)無刷新加載頁面
本篇文章給大家介紹Yii整合pjax(pushstate+ajax)實現(xiàn)無刷新加載頁面,小伙伴跟著小編一起學(xué)習(xí)吧2015-09-09
編碼為GB2312網(wǎng)站讓AJAX接收的數(shù)據(jù)顯示支持中文
GB2312 網(wǎng)站AJAX接收的數(shù)據(jù)顯示支持中文2010-01-01

