【java web】--Ajax非同步判斷使用者名稱是否存在
判斷使用者名稱是否存在,在很多專案中很常用。為了更好的使用者體驗度,把彈出框的形式升級成了Ajax的形式,這樣的好處是,非同步觸發,無需等待,非同步重新整理,節省伺服器資源消耗。
思路大概如下:
1.首先我們要有一個地方,盛放Ajax的判斷結果,在前臺Jsp頁面寫一個span標籤,id為showResult,使用者名稱是否存在的頁面樣式會顯示到span標籤裡面。
<div class="zydj01 ma15">
<span class="zyt">採摘領導:</span>
<span class="zyz">
<input type="text" onBlur="checkIsExist();" name="custrealname" id="custrealname" value="請輸入領導使用者名稱/手機號" onFocus="if(value==defaultValue){value='';this.style.color='#000'}" onBlur="if(!value){value=defaultValue;this.style.color='#999'}" style="color:#999999" >
</span>
<span id="showResult"></span>
</div>
2.其次,我們輸入使用者名稱後,離開輸入框,需要通過onblur事件(物件失去焦點後發生)觸發判斷使用者名稱是否存在的JS事件。觸發的事件是checkIsExist();
//判斷使用者名稱是否可用的js 王美 2016年1月12日09:49:31
function checkIsExist() {
var realname = $.trim($("#custrealname").val());
$.ajax({
type:"POST", //http請求方式
url:"${path}/app/isExist.json",//傳送給伺服器的url
data:"realname="+realname, //傳送給伺服器的引數
dataType:"json", //告訴JQUERY返回的資料格式(注意此處資料格式一定要與提交的controller返回的資料格式一致,不然不會呼叫回撥函式complete)
complete : function(msg) {
var result = eval("(" + msg.responseText + ")");
if(result.success) {
$("#showResult").hide();
} else {
$("#showResult").show().html(result.message);
}
}
});
}
3.Ajax傳送非同步請求到Ajax的引擎,傳送後繼續響應使用者介面,從伺服器得到資料後,呼叫callback()函式,響應資料請求。
需要了解Ajax原理的可以參考我之前的部落格Ajax拾遺--【DRP】
// 查詢賬戶是否存在 王美 2016年1月12日15:21:00
@ResponseBody
@RequestMapping(value = "/isExist.json", method = { RequestMethod.POST,RequestMethod.GET })
public AppResultDTO isExist(String realname) {
AppResultDTO result = new AppResultDTO();
boolean success = this.isExistUserName(realname);
result.setSuccess(success);
if(success) {
result.setMessage("<font color='green'>使用者名稱存在,可用</font>");
} else {
result.setMessage("<font color='red'>使用者不存在</font>");
}
return result;
}
//2.判斷使用者名稱是否存在--王美--2016年1月11日09:04:49
@ResponseBody
@RequestMapping(value = "/isExistUserName.json",method={RequestMethod.POST,RequestMethod.GET})
public boolean isExistUserName(String realname) {
int count = appPickRecordService.findByUserName(realname);
if (count > 0) {
return true;
}
return false;
}
很基礎的知識,希望對大家有幫助!
相關文章
- MySQL判斷表名是否存在MySql
- 使用ajax方式驗證使用者名稱是否存在程式碼
- jQuery 判斷使用者是否存在jQuery
- ajax實現的驗證使用者名稱是否存在程式碼例項
- java判斷mysql中資料庫是否存在JavaMySql資料庫
- 註冊介面從資料庫中判斷使用者名稱是否存在(jsp+servlet+sqlserver)資料庫JSServletSQLServer
- js如何判斷指定名稱的函式是否存在JS函式
- 41:判斷元素是否存在
- 判斷一個類名或者元素是否存在的思路
- 儲存過程判斷若個表中是否存在某個名稱的欄位儲存過程
- JavaScript 判斷函式是否存在JavaScript函式
- postgresql如何判斷表是否存在SQL
- golang判斷檔案是否存在Golang
- vc判斷檔案是否存在
- jQuery如何判斷元素是否存在jQuery
- iOS判斷是否存在網路iOS
- 如何判斷Javascript物件是否存在JavaScript物件
- java判斷檔案是否存在並建立檔案Java
- 判斷objectStore物件倉庫是否存在Object物件
- js判斷dom節點是否存在JS
- 怎麼判斷mysql表是否存在MySql
- Laravel 5 判斷條件是否存在Laravel
- python 判斷檔案是否存在Python
- jQuery 判斷頁面元素是否存在jQuery
- jQuery如何判斷一個元素是否存在jQuery
- 如何判斷一個jquery物件是否存在jQuery物件
- 如何利用jQuery判斷指定元素是否存在jQuery
- javascript判斷一個變數是否存在JavaScript變數
- js如何判斷一個物件是否存在JS物件
- JavaScript中判斷是否存在某屬性JavaScript
- QTP中如何判斷Excel程式是否存在?QTExcel
- sh指令碼判斷路徑是否存在指令碼
- SQL SERVER 使用者名稱、密碼登入判斷SQLServer密碼
- 使用Ajax技術檢測使用者名稱是否被佔用
- 判斷standby日誌是否同步primary
- 【MSSQL】sqlserver 各種判斷是否存在(表名、函式、儲存過程.......)SQLServer函式儲存過程
- 【JAVA】判斷字串非空Java字串
- 註冊使用者名稱字元長度判斷細節字元