本人搜索了Jquery engine ajax用法,基本上都是前篇一律的文章,而且很多都是不盡人意的,所以特來 寫了一篇。
特別提示:使用的Jquery Engine版本是2.6.2
1、前臺頁面
html表單如下
<form action="" id="formId">
<input type="text" name="code" id="code" placeholder="驗證碼" class="validate[required,ajax[ajaxUserBaseCall]]">
</form>
引入的js庫、css如下
<link rel="stylesheet" href="/css/validationEngine.css">
<script src="/js/jquery-1.8.2.min.js"></script>
<script src="/js/jquery.validationEngine-zh_CN.js" type="text/javascript"></script>
<script type="text/javascript" src="js/jquery.validationEngine.js"></script>
頁面js如下
$('#formId').validationEngine({
promptPosition: 'centerRight',
});
$('#formId').submit(function () {
$(this).validationEngine('validate');
});
2、js文件
jquery.validationEngine-zh_CN.js文件如下
"ajaxUserBaseCall": {
"url": "/login/isRightIndentifyingCode",
// you may want to pass extra data on the ajax call
// "extraDataDynamic" : ['#code'],
"alertText": "* 此名稱已被其他人使用",
"alertTextOk": "* 此帳號名稱可以使用",
"alertTextLoad": "* 正在確認名稱是否有其他人使用,請稍等。"
},
3、服務(wù)器端處理
頁面調(diào)用指定的url驗證地址,傳遞兩個參數(shù),名稱為:fieldId,fieldValue,對應(yīng)的值為元素的ID和VALUE,這兩個參數(shù)是默認傳遞的,服務(wù)器端根據(jù)這兩個參數(shù)實現(xiàn)判斷邏輯,然后返回包含三個元素的數(shù)組:元素ID、檢查是否通過(true or false)、提示信息。注意,字符串需要使用雙引號引起來。
java后臺代碼如下
@ResponseBody
@RequestMapping("isRightIndentifyingCode")
public Object isright(String fieldId, String fieldValue, HttpServletRequest request){
JSONArray jsonArray = new JSONArray();
boolean flag = false;
System.out.println(fieldId);
System.out.println(fieldValue);
String indentifyingCode = indentifyingCodeServiceI.getIndentifyingCode(1);
if (fieldValue.equals(indentifyingCode)) {
flag = true;
}
jsonArray.put(fieldId);
jsonArray.put(flag);
return jsonArray;
}
1、這里值得注意的是,如果想要傳遞其它參數(shù),使用的形式如下, "extraDataDynamic" : ['#email'],
其中email表示的是標簽的id,表示傳遞的其它參數(shù).
"ajaxUserBaseCall": {
"url": "/login/isRightIndentifyingCode",
// you may want to pass extra data on the ajax call
"extraDataDynamic" : ['#email'],
"alertText": "* 此名稱已被其他人使用",
"alertTextOk": "* 此帳號名稱可以使用",
"alertTextLoad": "* 正在確認名稱是否有其他人使用,請稍等。"
},
2、注意傳遞回去的是json數(shù)據(jù)。
我引入的jar包是:org.json.jar
gradle 依賴如下
// https://mvnrepository.com/artifact/org.json/json
compile group: 'org.json', name: 'json', version: '20160807'
maven依賴如下:
<!-- https://mvnrepository.com/artifact/org.json/json -->
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20160807</version>
</dependency>
參考地址:
http://blog.csdn.net/jijunwu/article/details/19576345
http://code.ciaoca.com/jquery/validation-engine/