我有一个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
}
});
答案 0 :(得分: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
}
});
$.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
}
});