在使用Ajax在onsubmit检查表假返回无效的问题分析
复制代码代码如下所示:*表格提交检查
**
功能onsubmit(){
如果($(' #名字)。瓦迩(),长度<2){
警报(请不要少于两个汉字);
返回false;
}
var t =新的日期()GetTime();
$ ajax({
类型:邮政
网址: / / / checkrepeat用户
数据:name =+ $(' #名字)。瓦迩()+=+ T,
成功:函数(RES){
If (RES = ='exists') {
警报(名称已经存在,请修改它。)
返回false;
}
}
});
}
问题的原因:
在1。Ajax,返回错误的作用没有onsubmit相同的功能();
2。在Ajax的异步执行,设置默认值是true,这是异步模式,即当ajax发送请求,等待服务器端返回的过程中,前台会继续跟随阿贾克斯块直到脚本结束时,服务器会返回正确的结果,成功的实现,也就是说在这个时间是两个线程的执行,脚本和Ajax Ajax请求的线程块的块(在另一个线程)。
修改后的代码:
复制代码代码如下所示:
*表格提交检查
**
功能onsubmit(){
如果($(' #名字)。瓦迩(),长度<2){
警报(请不要少于两个汉字);
返回false;
}
var标志=真;
var t =新的日期()GetTime();
$ ajax({
类型:邮政
异步: / /错误设置同步模式
缓存:false,
网址: / / / checkrepeat用户
数据:name =+ $(' #名字)。瓦迩()+=+ T,
成功:函数(RES){
如果(RE = = 'exists){
警报(名称已经存在,请修改它。)
标志=假;
}
}
});
如果(!标志)
返回false;