abstract:本文實(shí)例講述了jQuery基于ajax方式實(shí)現(xiàn)用戶名存在性檢查功能。分享給大家供大家參考,具體如下:對于擁有會(huì)員功能的網(wǎng)站,尤其是會(huì)員登錄后可以留言或評論的網(wǎng)站,一般要求不能有兩個(gè)或兩個(gè)以上相同的用戶名存在。因此,在用戶注冊的時(shí)就需要對用戶名是否已經(jīng)被注冊進(jìn)行檢查防止出現(xiàn)相同的用戶名。下面是我實(shí)現(xiàn)這種功能的一種解決方案。1、方案原理:利用ajax的異步請求不刷新正在注冊的頁面向后端發(fā)送請求,后端對
本文實(shí)例講述了jQuery基于ajax方式實(shí)現(xiàn)用戶名存在性檢查功能。分享給大家供大家參考,具體如下:
對于擁有會(huì)員功能的網(wǎng)站,尤其是會(huì)員登錄后可以留言或評論的網(wǎng)站,一般要求不能有兩個(gè)或兩個(gè)以上相同的用戶名存在。因此,在用戶注冊的時(shí)就需要對用戶名是否已經(jīng)被注冊進(jìn)行檢查防止出現(xiàn)相同的用戶名。下面是我實(shí)現(xiàn)這種功能的一種解決方案。
1、方案原理:利用ajax的異步請求不刷新正在注冊的頁面向后端發(fā)送請求,后端對請求數(shù)據(jù)進(jìn)行處理返回用戶名是否已經(jīng)存在的結(jié)果。
2、方案詳情
(1)html代碼部分,運(yùn)用了input標(biāo)簽的onblur事件調(diào)用相應(yīng)的js函數(shù)。
<div class="pull-left"> <input id="username" name="username" type="text" class="form-control isUsername" onblur = "CheckUserName()"> </div>
(2)Jquery部分,采用了ajax技術(shù)
function CheckUserName() { var userName = $("#username").val(); var Option = { url: encodeURI('/Handler/AuthAccounts.ashx?action=checkusername&userName='+userName), type: "get", dataType: 'text', cache: false, //設(shè)置為 false 將不會(huì)從瀏覽器緩存中加載請求信息。 async: true, //(默認(rèn): true),所有請求均為異步請求。發(fā)送同步請求,請將此選項(xiàng)設(shè)置為 false。同步請求將鎖住瀏覽器,用戶其它操作必須等待請求完成才可以執(zhí)行。 timeout: 150000, //設(shè)置請求超時(shí)時(shí)間(毫秒)。此設(shè)置將覆蓋全局設(shè)置。 error: function () { }, success: function (data, textStatus) { if (data == null || data == undefined) { return false; } jsondata = eval('(' + data + ')'); if (jsondata.state == "success") { alert(jsondata.message); return false; } }, beforeSend: function () //檢查之前,是否通過格式驗(yàn)證 { var text = $("#username-error").text(); if (text != ""&&text!=undefined&&text!=null) { return false; } } }; jQuery.ajax(Option); return false; }
(3)后端一般應(yīng)用處理程序
/// <summary> /// 檢查用戶名是否已經(jīng)存在 /// </summary> /// <param name="context"></param> protected void CheckUserName(string userName) { CommonStruct commonStruct = new CommonStruct(); if (userName != "" && userName!=string.Empty) { QingCi.Model.ExecResultData result = QingCi.BLL.AuthAccounts.CheckUserNameExist(userName); if (result.State == stateSuccess) { commonStruct.state = stateSuccess; commonStruct.message = result.Message; HttpContext.Current.Response.Write(serializer.Serialize(commonStruct)); HttpContext.Current.Response.End(); } } }
更多關(guān)于jQuery基于ajax方式實(shí)現(xiàn)用戶名存在性檢查功能示例請關(guān)注PHP中文網(wǎng)(ipnx.cn)其他文章!