ajax 同步
ajax已经采用了同步模式,接受到数据后才能继续往下执行
function aaa() {
$.ajax(
{
url:"includes/checkusername.php",
data:"username="+$("input[name=username]").val(),
async:false,
success:function(result){
alert(1);
return false;
}
})};
aaa();
alert("bbb");
**************************************************
可是alert("bbb");还是执行了
函数里面明明设置了return false啊
然后我测试了一下时间 发现 aaa()里面的alert()响应的时间和 下面代码执行的alert("bbb")是一样
我用的是 getTime();
ajax
------解决方案--------------------
要想用这个同步就只能把下边的执行代码放到调用Ajax方法以外的位置,再Ajax回调里调用其他方法
看LZ的Ajax和其他方法在同一方法里,肯定达不到同步效果
------解决方案--------------------
那个return false;有什么意义?
------解决方案--------------------
function aaa() {
$.ajax(
{
url:"includes/checkusername.php",
data:"username="+$("input[name=username]").val(),
async:false,
success:function(result){
alert(1);
// return false;
alert(bbb);
}
})};
楼主,把alert(bbb);放到成功方法里面,当数据返回成功后再调用alert(bbb),即可
------解决方案--------------------
你的代码没有问题,执行aaa()的时候同步请求,后台没问题的话,肯定是先alert(1),再alert('bbb'); 页面效果一定是alert('bbb')的警告框在外面(也就是后弹出的). 止于你说的return false; 对你的代码执行没有影响,这个return false,只是success的返回值,没有被使用过,对ajax调用也没有影响. 你的那个getTime() 一样的话只是值一样,顺序其实不一样,可能是精确问题吧,java常见这种情况