Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.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 计算ajax响应的时间并在SetTimeout函数中使用该时间_Javascript_Php_Jquery - Fatal编程技术网

Javascript 计算ajax响应的时间并在SetTimeout函数中使用该时间

Javascript 计算ajax响应的时间并在SetTimeout函数中使用该时间,javascript,php,jquery,Javascript,Php,Jquery,我试图获取ajax请求的响应时间,并在setTimeout()函数中使用它,该函数显示一个加载程序,该加载程序将一直加载,直到我们得到响应为止 以下是我的功能: $("#recalculer").click(function(){ ajax_call(); setTimeout(function() { $("#divgris").fadeTo(0,1); $("#loadi

我试图获取ajax请求的响应时间,并在setTimeout()函数中使用它,该函数显示一个加载程序,该加载程序将一直加载,直到我们得到响应为止

以下是我的功能:

 $("#recalculer").click(function(){
        ajax_call();
        setTimeout(function()
            {
                $("#divgris").fadeTo(0,1);
                $("#loadingdiv2").hide();
            }, 5000); 
    });
下面是我的ajax请求:

 function ajax_call()
    {
        var resultat;
        var duree_souhaitee= $("#duree").val();
        var apport_personnel= $("#apport").val().replace(/\s+/g, '');
        var prix_achat_bien=$("#prix").val().replace(/\s+/g, '');
        $.ajax({ 
            type: "POST",
            url: "/iframe/rest-assurance",
            data : {
                "duree_souhaitee" : duree_souhaitee,
                "apport_personnel" : apport_personnel,
                "prix_achat_bien" : prix_achat_bien
            },
            dataType: 'json',
            xhrFields: {
            withCredentials: true
            },
            async: true,
            beforeSend: function(){
                $("#actualiserAssurance").hide();

            },
            success: callback_assurance
        });
    } 
目前,我将时间设置为5000,但我需要将其替换为ajax响应时间,如何实现这一点

使用

var afterfnc = ()=>{
   $("#divgris").fadeTo(0,1);
  $("#loadingdiv2").hide();
}
然后设置

callback_assurance  = afterfnc 
在ajax调用中使用

var afterfnc = ()=>{
   $("#divgris").fadeTo(0,1);
  $("#loadingdiv2").hide();
}
然后设置

callback_assurance  = afterfnc 
在ajax调用中,您可以使用:

控制台时间(标签)
console.timeEnd(标签)

可以找到更多信息。 祝你好运

Meaby您可以使用:

控制台时间(标签)
console.timeEnd(标签)

可以找到更多信息。 祝你好运

我总是使用:

$("#loadingdiv2").show();
$.ajax(
 ...
).always(function(){ $("#loadingdiv2").hide(); });
如果您想将它与Ajax调用分开,我将使用自定义事件

 $("#recalculer").click(function(){
    ajax_call();
 });

 $("body").bind('custom.ajaxStart', function(){ $("#loadingdiv2").show(); });

 $("body").bind('custom.ajaxStop', function(){ $("#loadingdiv2").hide(); });

  function ajax_call(){
    $('body').trigger('custom.ajaxStart');
    $.ajax(..).always(function(){ $('body').trigger('custom.ajaxStop'); });
  }
即使在404上,
总是
回调也会被触发,依赖计时对我来说永远不会很好

通过使用事件,您可以灵活地从任何地方调用加载交易。

我始终使用:

$("#loadingdiv2").show();
$.ajax(
 ...
).always(function(){ $("#loadingdiv2").hide(); });
如果您想将它与Ajax调用分开,我将使用自定义事件

 $("#recalculer").click(function(){
    ajax_call();
 });

 $("body").bind('custom.ajaxStart', function(){ $("#loadingdiv2").show(); });

 $("body").bind('custom.ajaxStop', function(){ $("#loadingdiv2").hide(); });

  function ajax_call(){
    $('body').trigger('custom.ajaxStart');
    $.ajax(..).always(function(){ $('body').trigger('custom.ajaxStop'); });
  }
即使在404上,
总是
回调也会被触发,依赖计时对我来说永远不会很好


使用事件可以让您灵活地从任何地方调用加载处理。

我猜一旦AJAX请求完成,就会触发一些事件(如
success
complete
),无需测量时间我猜一旦AJAX请求完成,就会触发一些事件(如
成功
完成
),无需测量时间
这非常有效
-Kool我只是在胡闹…很高兴它对你有用。理论至少是合理的…:)事件很好,因为它们可以绕过范围问题,例如,如果你运行Jquery时与
(函数($){})(Jquery)没有冲突
或者你在一个插件中完成它,你不需要太担心范围。
这工作非常完美
-库尔,我只是随机应变。。。很高兴你成功了。这个理论至少是正确的…:)事件很好,因为它们可以绕过范围问题,例如,如果您在与
(function($){})(Jquery)
没有冲突的情况下运行Jquery,或者在插件中运行Jquery,那么您不必太担心范围。