2014-02-27 144 views
0

如何控制JS按ajax顺序执行?这里是我的代码:JS按ajax顺序执行

function forexample() { 
    $(".bewait").css("display", "block"); 
    ajaxrequest(); // here is a ajax request method. 
        // I also added "async: false" in the method. 
    $(".bewait").css("display", "none"); 
} 

当我运行forexample(),它工作正常在Firefox,但我发现铬都没有,似乎铬首先运行AJAX方法,然后运行CSS控制JS在一起。

我该如何解决它在Chrome中正确运行?

回答

0

您应该将$(".bewait").css("display", "none");添加到onComplete处理程序。例如:

$(".bewait").css("display", "block"); 

$.ajax({ 
      type : 'POST', 
      url : url, 
      async : false, 
      data : postData, 
      complete : function(){ 
       $(".bewait").css("display", "none"); 
      } 
    }); 
0

使用回调,以确保第二CSS语句只执行一个响应收到后:

ajaxrequest({ 
    onResponse : function() { 
     $(".bewait").css("display", "none"); 
    } 
}) 

你可能要处理错误,但这个应该足够开始使用