如何避免ajax出现的同步警告?

发布网友 发布时间:2022-04-25 22:07

我来回答

1个回答

热心网友 时间:2022-06-17 23:54

ajax出现的同步警告是无法避免的,其实是造成主线程锁死主要还是XMLHttpRequest没有设置超时处理。

jquery ajax异步的执行方案:

1、添加async:false.即修改为同步,代码如下:

function getAjaxReturn() 

var bol=false; 

$.ajax({ 

type:"POST", 

async:false, 

http://www.cnblogs.com/wlmemail/admin/%22ajax/userexist.aspx", 

data:"username="+vusername.value, 

success:function(msg){ 

if(msg=="ok"){ 

showtipex(vusername.id,"<img src='images/ok.gif'/><b><font color='#ffff00'>该用户名可以使用</font></b>",false) 

// return true; 

bol=true; 

else 

showtipex(vusername.id,"<img src='images/cancel.gif'/><b><font color='#ffff00'>该用户已被注册</font></b>",false); 

vusername.className="bigwrong"; 

//return false; 

}); 

return bol; 

2、 通过传入一个函数解决这个问题,代码:

function getAjaxReturn(success_function,fail_function) 

var bol=false; 

$.ajax({ 

type:"POST", 

http://www.cnblogs.com/wlmemail/admin/%22ajax/userexist.aspx", 

data:"username="+vusername.value, 

success:function(msg){ 

if(msg=="ok"){ 

showtipex(vusername.id,"<img src='images/ok.gif'/><b><font color='#ffff00'>该用户名可以使用</font></b>",false) 

success_function(msg); 

else 

showtipex(vusername.id,"<img src='images/cancel.gif'/><b><font color='#ffff00'>该用户已被注册</font></b>",false); 

vusername.className="bigwrong"; 

fail_function(msg); 

//return false; 

}); 

function success_function(info) 

//do what you want do 

alert(info); 

funciont fail_function(info) 

//do what you want do 

alert(info); 

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com