文章标题

来源:互联网 发布:淘宝客服模板制作 编辑:程序博客网 时间:2024/06/04 23:28

ajax默认是异步执行。就是说ajax可能还没有执行完,就有可能去执行下面的代码,例如:

“`
这里写代码片
function (){
.ajax({  
        url:”../jquery/ajax”,  
        dataType:”json”,  
        success:function(data){  
            $(“#myDiv”).html(“haha”);  
            //在这之后你可能还加上了更多的代码  
        },  
    });
(“#myDiv2”).html(“haha”);
}
在这里, 极有可能你success function里的代码还没执行完,就已经去执行 (“#myDiv2”).html(“haha”); 这一行的代码。  
解决方法:  
        1.在ajax的属性中加上async:true 这一属性。但是这样写有个弊端,如果ajax的函数没执行完,那么浏览器一直等你ajax的success function里的代码执行完再去执行
(“#myDiv2”).html(“haha”);这一行的逻辑。整个浏览器在你的success function没执行完前是一直处与于卡死的状态。用户体验不好。
2.将$(“#myDiv2”).html(“haha”);这段代码放入success function这段function中。更建议用这一方式解决该问题.

0 0
原创粉丝点击