今天做了个东西,在提交数据走后台返回到前台的ajax中后,在success函数中需要继续走后台逻辑,这时候就要在ajax中嵌套一个ajax,其实逻辑上没什么不同,只需要注意一点就行,在ajax中有一个async属性,这个值一定要设置成false,ajax默认的async是true。
async:异步属性,如果是true的话,嵌套的ajax也会异步(和外层的ajax同时)执行,这时候可能会造成数据没有获取到,或者获取到错误的数据信息,造成异常。
来一段代码示例:
$.ajax({ url:'${webroot}/wachatWaybill/checkSite',
async : false,
type:'post',
dataType:'json',
data:{'a':a,'b':b,'c':c},
success:function(data){
$.ajax({
async : false,
url:'${webroot}/wachatWaybill/updateStatus',
type:'post',
dataType:'json',
data:{'waybillnumber':localStorage.result},
success:function(re){
window.location.href = "abc.jsp";
},
});
});
代码中的异步属性都设置成了false,这样才能正常执行。
ps:我在写的时候出现了一个小的错误,success写成了successs,你有发现有什么不同吗???
写程序的时候一定要细心,就是因为多写了一个s,一直不能回调,还不容易调试出来。
更多推荐
ajax嵌套ajax
发布评论