jQuery validate+Ajax校验
校验名称是否重复的方法:
代码如下:
jQuery.validator.addMethod("checkname", function (value, element) {
var resultval = false;
var name = $("input[name='Name']").val();
jQuery.ajax({
type: 'post',
async:false,
url:
dataType: 'json',
success: function (result) {
if (result.code == 0) {
resultval = false;
}
else {
resultval = true;
}
},
error: function () {
}
});
return resultval;
}, "您的名称重复,请重新输入");
注意:
async:false一定要加上,否则返回值始终为你给的初始值;
async解释:
async. 默认是 true,即为异步方式,$.ajax执行后,会继续执行ajax后面的脚本,直到服务器端返回数据后,触发$.ajax里的success方法,这时候执行的是两个线程。
async 设置为 false,则所有的请求均为同步请求,在没有返回值之前,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。