Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在执行jquery success()之前,如何显示GIF加载图像_Javascript_Jquery_Gif - Fatal编程技术网

Javascript 在执行jquery success()之前,如何显示GIF加载图像

Javascript 在执行jquery success()之前,如何显示GIF加载图像,javascript,jquery,gif,Javascript,Jquery,Gif,我正在用大量数据更新我的表单,因此我需要设置加载GiF图像,以便用户能够理解数据正在插入数据库 我正在使用以下jquery。在执行success()之前,你们能告诉我如何显示此加载图像吗 loadubg.gif(这是我正在加载的图像) 在ajax调用开始之前显示图像,并在调用完成后隐藏图像。(假设GIF图像具有id=“gifImage” 在ajax调用开始前显示图像,并在调用完成后隐藏。(假设GIF图像具有id=“gifImage” 使用和回调: $( document ).ajaxStart(

我正在用大量数据更新我的表单,因此我需要设置加载GiF图像,以便用户能够理解数据正在插入数据库

我正在使用以下jquery。在执行success()之前,你们能告诉我如何显示此加载图像吗

loadubg.gif(这是我正在加载的图像)


在ajax调用开始之前显示图像,并在调用完成后隐藏图像。(假设GIF图像具有
id=“gifImage”


在ajax调用开始前显示图像,并在调用完成后隐藏。(假设GIF图像具有
id=“gifImage”

使用和回调:

$( document ).ajaxStart(function() {
  $( ".loading" ).show();
});

$( document ).ajaxComplete(function() {
  $( ".loading" ).hide();
});
如果不使用wan全局回调,可以将其放入
$.ajax
调用中:

$.ajax({
    ...
    beforeSend: function(){$( ".loading" ).show();},
    complete: function(){$( ".loading" ).hide();}
    ...
});
另外,其他人都建议您将gif隐藏在
success
处理程序中。这是不正确的。如果ajax调用导致错误,gif将继续旋转。
complete
处理程序是正确的位置。

使用和回调:

$( document ).ajaxStart(function() {
  $( ".loading" ).show();
});

$( document ).ajaxComplete(function() {
  $( ".loading" ).hide();
});
如果不使用wan全局回调,可以将其放入
$.ajax
调用中:

$.ajax({
    ...
    beforeSend: function(){$( ".loading" ).show();},
    complete: function(){$( ".loading" ).hide();}
    ...
});

另外,其他人都建议您将gif隐藏在
success
处理程序中。这是不正确的。如果ajax调用导致错误,gif将继续旋转。
complete
处理程序是正确的位置。

只需在调用
$.ajax
之前显示加载图像即可

为正在加载的图像创建div或img标记,并将其设置为display:none

<img src="loading.gif" id="loading" style="display:none"/>

只需在调用
$.ajax
之前显示加载图像

为正在加载的图像创建div或img标记,并将其设置为display:none

<img src="loading.gif" id="loading" style="display:none"/>

也许最好的方法是将你的#success div设置为在点击#upload后立即显示gif图像

完成后,success方法将覆盖gif:

$('body').on('click', '#upload', function(e){

    // SHOW IMAGE AS SOON AS AJAX STARTS
    $("#success").html("<img src="loadubg.gif></img>");

    e.preventDefault();
    var formData = new FormData($(this).parents('form')[0]);

    var cid=$('#cdid').val();



    $.ajax({
        url: 'editContactDetails.php',
        type: 'POST',
        xhr: function() {
            var myXhr = $.ajaxSettings.xhr();
            return myXhr;
        },
        success: function(data){                    
          // getDetails(cid);

          // ONCE AJAX REQUEST FINISHED, OVERWRITE THE GIF IMAGE
          $("#success").html(data);

          document.getElementById("all_contact_details").reset();


        },
        data: formData,
        cache: false,
        contentType: false,
        processData: false
    });
}); 
$('body')。在('click','upload',函数(e){
//AJAX启动后立即显示图像
$(“#success”).html(“”);
e、 预防默认值();
var formData=new formData($(this).parents('form')[0]);
var cid=$('#cdid').val();
$.ajax({
url:'editContactDetails.php',
键入:“POST”,
xhr:function(){
var myXhr=$.ajaxSettings.xhr();
返回myXhr;
},
成功:函数(数据){
//获取详细信息(cid);
//AJAX请求完成后,覆盖GIF图像
$(“#success”).html(数据);
document.getElementById(“所有联系人详细信息”).reset();
},
数据:formData,
cache:false,
contentType:false,
processData:false
});
}); 

也许最好的方法是将您的“成功”div设置为在单击“上载”后立即显示gif图像

完成后,success方法将覆盖gif:

$('body').on('click', '#upload', function(e){

    // SHOW IMAGE AS SOON AS AJAX STARTS
    $("#success").html("<img src="loadubg.gif></img>");

    e.preventDefault();
    var formData = new FormData($(this).parents('form')[0]);

    var cid=$('#cdid').val();



    $.ajax({
        url: 'editContactDetails.php',
        type: 'POST',
        xhr: function() {
            var myXhr = $.ajaxSettings.xhr();
            return myXhr;
        },
        success: function(data){                    
          // getDetails(cid);

          // ONCE AJAX REQUEST FINISHED, OVERWRITE THE GIF IMAGE
          $("#success").html(data);

          document.getElementById("all_contact_details").reset();


        },
        data: formData,
        cache: false,
        contentType: false,
        processData: false
    });
}); 
$('body')。在('click','upload',函数(e){
//AJAX启动后立即显示图像
$(“#success”).html(“”);
e、 预防默认值();
var formData=new formData($(this).parents('form')[0]);
var cid=$('#cdid').val();
$.ajax({
url:'editContactDetails.php',
键入:“POST”,
xhr:function(){
var myXhr=$.ajaxSettings.xhr();
返回myXhr;
},
成功:函数(数据){
//获取详细信息(cid);
//AJAX请求完成后,覆盖GIF图像
$(“#success”).html(数据);
document.getElementById(“所有联系人详细信息”).reset();
},
数据:formData,
cache:false,
contentType:false,
processData:false
});
}); 

在调用jQuery.ajax()之前显示加载图像。假设您有一个imageDiv来显示该图像。请使用以下命令:

$("#imageDiv").html('<img src = "loadubg.gif">');
$("#imageDiv").show();
$.ajax({
    url: 'editContactDetails.php',
    type: 'POST',
    xhr: function() {
        var myXhr = $.ajaxSettings.xhr();
        return myXhr;
    },
    success: function(data){                    
      // getDetails(cid);
      $("#success").html(data);
        document.getElementById("all_contact_details").reset();
           $("#imageDiv").hide();

    },
    data: formData,
    cache: false,
    contentType: false,
    processData: false
});
});    
$(“#imageDiv”).html(“”);
$(“#imageDiv”).show();
$.ajax({
url:'editContactDetails.php',
键入:“POST”,
xhr:function(){
var myXhr=$.ajaxSettings.xhr();
返回myXhr;
},
成功:函数(数据){
//获取详细信息(cid);
$(“#success”).html(数据);
document.getElementById(“所有联系人详细信息”).reset();
$(“#imageDiv”).hide();
},
数据:formData,
cache:false,
contentType:false,
processData:false
});
});    

在调用jQuery.ajax()之前显示加载图像。假设您有一个imageDiv来显示该图像。请使用以下命令:

$("#imageDiv").html('<img src = "loadubg.gif">');
$("#imageDiv").show();
$.ajax({
    url: 'editContactDetails.php',
    type: 'POST',
    xhr: function() {
        var myXhr = $.ajaxSettings.xhr();
        return myXhr;
    },
    success: function(data){                    
      // getDetails(cid);
      $("#success").html(data);
        document.getElementById("all_contact_details").reset();
           $("#imageDiv").hide();

    },
    data: formData,
    cache: false,
    contentType: false,
    processData: false
});
});    
$(“#imageDiv”).html(“”);
$(“#imageDiv”).show();
$.ajax({
url:'editContactDetails.php',
键入:“POST”,
xhr:function(){
var myXhr=$.ajaxSettings.xhr();
返回myXhr;
},
成功:函数(数据){
//获取详细信息(cid);
$(“#success”).html(数据);
document.getElementById(“所有联系人详细信息”).reset();
$(“#imageDiv”).hide();
},
数据:formData,
cache:false,
contentType:false,
processData:false
});
});    

调用脚本/函数,在过程中显示加载程序,并在过程完成后隐藏加载程序

beforeSend: function(){
  //show img loader
},
complete: function(){
  //hide img loader
}

调用脚本/函数在过程中显示加载程序,并在过程完成后隐藏加载程序

beforeSend: function(){
  //show img loader
},
complete: function(){
  //hide img loader
}

在HTML文件中添加Div

<div class="ajax-loader"></div>

然后在ur ajax调用中添加2个新参数。在发送和完成之前

$.ajax({
    url: 'editContactDetails.php',
    type: 'POST',
    xhr: function() {
        var myXhr = $.ajaxSettings.xhr();
        return myXhr;
    },    
    beforeSend: function() {
        $(".ajax-loader").html("<img src="images/loader_image.gif">");
    },
    complete: function(){
        $(".ajax-loader").html("");
    },
    success: function(data){                    
      // getDetails(cid);
      $("#loading").hide(); //hide loading
      $("#success").html(data);
        document.getElementById("all_contact_details").reset();


    },
    data: formData,
    cache: false,
    contentType: false,
    processData: false
});
$.ajax({
url:'editContactDetails.php',
键入:“POST”,
xhr:function(){
var myXhr=$.ajaxSettings.xhr();
返回myXhr;
},    
beforeSend:function(){
$(“.ajax加载程序”).html(“”);
},
完成:函数(){
$(“.ajax加载程序”).html(“”);
},
成功:函数(数据){
//获取详细信息(cid);
$(“#加载”).hide();//隐藏加载
$(“#success”).html(数据);
document.getElementById(“所有联系人详细信息”).reset();
},
数据:formData,
cache:false,
contentType:false,
processData:false
});