带有ajax请求的chrome上不显示加载程序图像

时间:2015-11-14 20:56:50

标签: javascript jquery ajax google-chrome

我有一个ajax请求,它在ajax发送之前显示一个加载程序映像,并在请求成功后隐藏ajax之后的加载程序映像。 loader图像在Firefox上完美显示,但在chrome上没有显示。

  

我的代码正在使用Firefox

我的代码是..

$.ajax({
  method: "GET",
  url: "test.php",
  beforeSend:function(){
    $(".loader-image").show();
  },
  success:function(data){
    $(".loader-image").hide();
    //here i write success code
  }

});

2 个答案:

答案 0 :(得分:1)

我希望这有帮助

  

我有同样的问题,我真的不知道它是怎么发生的,但它可以   使用如下代码中的小延迟来修复。

解决方案1 ​​

$.ajax({
  method: "GET",
  url: "/",
  beforeSend:function(){
    $(".loader-image").show(1);
    // please note i have added a delay of 1 millisecond , which runs almost same as code with no delay.
  },
  success:function(data){
    $(".loader-image").hide();
    //here i write success code
  }

});

解决方案2

   $.ajax({
      method: "GET",
      url: "/",
      beforeSend:function(){

        setTimeout(function(){
           $(".loader-image").show();
        }, 1);
        // please note i have added a delay of 1 millisecond with js timeout function which runs almost same as code with no delay.
      },
      success:function(data){
        $(".loader-image").hide();
        //here i write success code
      }

    });

答案 1 :(得分:0)

您的代码似乎没问题。但我认为可能是beforeSend回调没有被执行。作为另一种解决方案,您可以尝试下面的代码:

$(".loader-image").show();
$.ajax({
  method: "GET",
  url: "test.php",

  complete:function(data){
    $(".loader-image").hide();
  },
  success: function(){
    //write the success code here
  }

});