jQuery中ajax执行的优先级

jQuery中ajax执行的优先级
今天,当你在做用户注册时,发现了一个奇怪的问题。Look at the code:
($输入{名称=用户名。模糊)(函数(){
验证格式
VAR模式= / ^ { A-Z } { } { } W 4,11 $ /我;
如果(!pattern.test($(this)。瓦迩())){
$(这),兄弟姐妹('。DESC)。Html('5-12字符,必须以字母,只输入数字、字母和下划线);
返回false;
}
验证用户名是否已注册
美元。后(寄存器。phpact =检查用户',{用户名:$(this)。瓦迩()},功能(数据){)
如果(data.status = =错误){
($输入{名称=用户名,兄弟姐妹)(。DESC)。Html('' +数据。信息+);
返回false;
}
},'json);

成功
警报(''成功');
/ / $(this),兄弟姐妹('。DESC)Html();
});

出于原因,上述格式是
1。验证用户名是否符合格式

2。格式正确,Ajax决定用户名是否被占用,

三.所有的成功都显示了正确的图标
但问题是,当我验证用户的格式是成功的,它直接运行,警报('successful '),然后Ajax。那是为什么Ajax执行是否时间问题还是别的什么
这是PHP代码:
如果($ _get { } = =共舞'checkuser){
如果($ _server { 'http_x_requested_with}!= = 'xmlhttprequest(退出)的非法操作!啊!;

为SQL = 选择ID从{ $ sys_vars { } } 'db_pre用户,用户名为{ } { } _post美元'username ';

结果= mysql_query美元($ SQL);
数据mysql_fetch_assoc美元($结果);
如果($){
退出(json_encode(阵列('status= >错误,'info= >,用户名已被注册!!!!!!!!!!!!!!!!!!;
其他{ }
退出(json_encode(阵列('status= > ''成功')));
}
}

分析如下

ajax是异步操作。当执行与Ajax相关的函数时,系统首先返回函数,然后请求。当接收到请求结果时,它将通过调用回调函数返回给用户。
($输入{名称=用户名。模糊)(函数(){
验证格式
VAR模式= / ^ { A-Z } { } { } W 4,11 $ /我;
如果(!pattern.test($(this)。瓦迩())){
$(这),兄弟姐妹('。DESC)。Html('5-12字符,必须以字母,只输入数字、字母和下划线);
返回false;
}
验证用户名是否已注册
美元。后(寄存器。phpact =检查用户',{用户名:$(this)。瓦迩()},功能(数据){)
如果(data.status = =错误){
($输入{名称=用户名,兄弟姐妹)(。DESC)。Html('' +数据。信息+);
返回false;
}
},
函数(数据)为POST函数,第三个参数是回调函数。
警报(''成功');
}
JSON;

成功
/ /警报(''成功');
/ / $(this),兄弟姐妹('。DESC)Html();
});

改变它,试着感受它的不同。

对不同的Ajax功能的回调函数的使用略有不同,指的是w3school或jQuery官方网络教程

这实际上是同步和异步JS的问题。如果你是异步的,你可以想象两行。

复制代码代码如下所示:

执行函数调用-常规验证——启动Ajax函数返回Ajax回调函数

| |

| |

浏览器请求——PHP处理——浏览器接收结果
如果希望在Ajax回调之后返回函数,则可以在上侧更改模型,例如:

复制代码代码如下所示:

-执行函数调用-常规验证——启动Ajax Ajax回调函数返回

| |

| |

浏览器请求——PHP处理——浏览器接收结果
这可以通过修改jQuery的启动Ajax来实现异步或同步实现。
($输入{名称=用户名。模糊)(函数(){
验证格式
VAR模式= / ^ { A-Z } { } { } W 4,11 $ /我;
如果(!pattern.test($(this)。瓦迩())){
$(这),兄弟姐妹('。DESC)。Html('5-12字符,必须以字母,只输入数字、字母和下划线);
返回false;
}
验证用户名是否已注册
无功ajaxcheckuser = false;
$ ajax({
类型:邮政
网址:登记。phpact =检查用户
数据:{用户名:$(这个)。瓦迩()},
在这里注
异步:假
成功:函数(数据){
如果(data.status = =错误){
($输入{名称=用户名,兄弟姐妹)(。DESC)。Html('' +数据。信息+);
返回false;
{人}
ajaxcheckuser =真;
}
},'json);

如果(ajaxcheckuser){
成功
警报(''成功');
/ / $(this),兄弟姐妹('。DESC)Html();
}

});

以上是本文的全部内容,希望大家能喜欢。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部