发布时间:2013-10-24 11:41:07来源:阅读(1066)
在实际开发中,某些地方需要使用ajax来验证数据的合法性,比如:用户名是否存在,密码是否正确等。
但由于Ajax默认情况下是采用异步传输执行的,所以无法通过在ajax的success方法中改变JQuery的全局变量来记录ajax的执行情况,从而阻止表单提交。
在使用ajax时,可通设置async:false,来实际同步传输执行,那么JQuery会等待ajax执行完毕才继续向下执行。那么就可以通过在ajax的success方法中改变JQuery的全局变量来阻止表单提交,示例代码如下:
01 | var result = true ; |
02 |
03 |
$.ajax({ |
04 |
type: “GET”, |
05 |
url: “……”, |
06 |
dataType: “json”, |
07 |
async: false , // 同步传输执行 |
08 |
success: function (data) { |
09 |
if (……) { |
10 |
result = false ; |
11 |
} |
12 |
} |
13 |
}); |
14 |
15 |
return result; |
关键字: JQuery
1766
2125
1145
1744
1747
384
1532
1304
1090
702
9981
6166
5715
5287
4768
4467
3649
3517
3515
3424