Javascript 计算ajax响应的时间并在SetTimeout函数中使用该时间
我试图获取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
$("#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,那么您不必太担心范围。