jquery - ajax同步异步问题
//验证供应商 $("#providerid").attr("value","");// 清空 $.ajax({ url :'${path}/product/findbyproviderId', async:false, // 同步 type : 'post', data :{qc_provider_name : $("#qc_provider_name").val()}, dataType : 'text', success:function(result){ $("#providerid").val(result); } }); if($("#providerid").val() == ""){ alert("供应商不存在"); return false; }
上段代码是js中的一部分,之前是ajax的async:false没加上,不加上的话,程序ajax默认是异步的,就是说两段代码互不影响,然后总是弹出对话框,供应商不存在,我说怪了,在success属性里,弹出result的值,是有值的,然后设置一个javascript变量接受result的值,在里面有值,在外面不行,弄一个隐藏的input接受值同样是里面执行时有值,外面没值,最后查了查,没加上同步标识。
ajax默认都是异步的,即上面的代码在执行的时候,下面的代码也在同时执行,上面得到的result的代码还在执行的同时,下面弹出由result赋值的变量的代码也在执行,那当然是空的,加上同步的标识后,即代码按照先后顺序执行,就ok了。之前,一直是那样用的,没想过同步异步的问题。小记一下
一步一个脚印,方便自己复习,欢迎大家指正,非常感谢,共同进步!
posted on 2012-11-25 15:40 lovebeauty 阅读(280) 评论(0) 编辑 收藏 举报