jQuery基于ajax方式實(shí)現(xiàn)用戶名存在性檢查功能示例
本文實(shí)例講述了jQuery基于ajax方式實(shí)現(xiàn)用戶名存在性檢查功能。分享給大家供大家參考,具體如下:
對(duì)于擁有會(huì)員功能的網(wǎng)站,尤其是會(huì)員登錄后可以留言或評(píng)論的網(wǎng)站,一般要求不能有兩個(gè)或兩個(gè)以上相同的用戶名存在。因此,在用戶注冊(cè)的時(shí)就需要對(duì)用戶名是否已經(jīng)被注冊(cè)進(jìn)行檢查防止出現(xiàn)相同的用戶名。下面是我實(shí)現(xiàn)這種功能的一種解決方案。
1、方案原理:利用ajax的異步請(qǐng)求不刷新正在注冊(cè)的頁面向后端發(fā)送請(qǐng)求,后端對(duì)請(qǐng)求數(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ì)從瀏覽器緩存中加載請(qǐng)求信息。
async: true, //(默認(rèn): true),所有請(qǐng)求均為異步請(qǐng)求。發(fā)送同步請(qǐng)求,請(qǐng)將此選項(xiàng)設(shè)置為 false。同步請(qǐng)求將鎖住瀏覽器,用戶其它操作必須等待請(qǐng)求完成才可以執(zhí)行。
timeout: 150000, //設(shè)置請(qǐng)求超時(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相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《jquery中Ajax用法總結(jié)》、《jQuery操作json數(shù)據(jù)技巧匯總》、《jQuery form操作技巧匯總》、《jQuery常用插件及用法總結(jié)》、《jQuery擴(kuò)展技巧總結(jié)》、《jQuery表格(table)操作技巧匯總》及《jquery選擇器用法總結(jié)》
希望本文所述對(duì)大家jQuery程序設(shè)計(jì)有所幫助。
- jquery ajax 檢測(cè)用戶注冊(cè)時(shí)用戶名是否存在
- 基于jQuery實(shí)現(xiàn)的Ajax 驗(yàn)證用戶名是否存在的實(shí)現(xiàn)代碼
- jQuery異步驗(yàn)證用戶名是否存在示例代碼
- 基于jQuery實(shí)現(xiàn)Ajax驗(yàn)證用戶名是否存在實(shí)例
- jquery easyUI中ajax異步校驗(yàn)用戶名
- JQuery用戶名校驗(yàn)的具體實(shí)現(xiàn)
- 利用jQuery.Validate異步驗(yàn)證用戶名是否存在(推薦)
- jQuery+Ajax實(shí)現(xiàn)用戶名重名實(shí)時(shí)檢測(cè)
相關(guān)文章
jquery無限級(jí)聯(lián)下拉菜單簡(jiǎn)單實(shí)例演示
這篇文章主要向大家推薦了一個(gè)jquery無限級(jí)聯(lián)下拉菜單簡(jiǎn)單實(shí)例演示,感興趣的小伙伴們可以參考一下2015-11-11
jQuery實(shí)現(xiàn)頁面倒計(jì)時(shí)并刷新效果
頁面倒計(jì)時(shí)小編在很多網(wǎng)站都有這樣的需求,今天小編給大家分享一段jq代碼實(shí)現(xiàn)頁面倒計(jì)時(shí)并刷新效果,代碼簡(jiǎn)單易懂,非常不錯(cuò),需要的的朋友參考下2017-03-03
jquery實(shí)現(xiàn)Li滾動(dòng)時(shí)滾動(dòng)條自動(dòng)添加樣式的方法
這篇文章主要介紹了jquery實(shí)現(xiàn)Li滾動(dòng)時(shí)滾動(dòng)條自動(dòng)添加樣式的方法,實(shí)例分析了jquery響應(yīng)鼠標(biāo)事件及動(dòng)態(tài)添加樣式的相關(guān)技巧,需要的朋友可以參考下2015-08-08
jquery動(dòng)態(tài)添加文本并獲取值的方法
下面小編就為大家?guī)硪黄猨query動(dòng)態(tài)添加文本并獲取值的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-10-10
jQuery獲取頁面元素絕對(duì)與相對(duì)位置的方法
這篇文章主要介紹了jQuery獲取頁面元素絕對(duì)與相對(duì)位置的方法,涉及jQuery中offset、position等方法的使用技巧,需要的朋友可以參考下2015-06-06
jQuery Ajax異步處理Json數(shù)據(jù)詳解
jquery ajax處理json數(shù)據(jù)其實(shí)與其它ajax處理數(shù)據(jù)沒什么很大的改動(dòng),我們只要簡(jiǎn)單處理一下ajax部份的dataType數(shù)據(jù)類型等于json即可解決了2013-11-11
jquery選擇器和屬性對(duì)象的操作實(shí)例分析
這篇文章主要介紹了jquery選擇器和屬性對(duì)象的操作,結(jié)合實(shí)例形式分析了jquery選擇器與頁面元素屬性相關(guān)操作技巧,需要的朋友可以參考下2020-01-01
基于jQuery實(shí)現(xiàn)Div窗口震動(dòng)特效代碼-代碼簡(jiǎn)單
本文給大家介紹基于jiquery實(shí)現(xiàn)div窗口震動(dòng)特效代碼,需要的朋友可以參考下2015-08-08

