首页 > 解决方案 > Ajax 调用后超时的最佳实践

问题描述

以前,在我的表重新加载新数据后,我已经实现了超时。在调用 ajax 后,我在如何更新我的 dom 时遇到了麻烦,因为我正在分析 webapp 之上开发前端 js。我已经找到了一个使用超时的解决方案,它将在刷新后加载 dom,但我不确定这是否是最佳实践,因为我必须预设时间并且不同的视图会有不同的查询和渲染时间。

  $( document ).ajaxSuccess(function( event, xhr, settings ) {
     setInterval(function(){ 
        let update = d3.selectAll("#" + arcapi.chartId() + ' tbody td')
        update.filter(function(){
           if(this.innerHTML === 'Tier 2'){
             return true;
            }
        }).style('background-color','green');
     }, 2000); 
  });

注意:我无法在 ajaxComplete 之后直接从 ajax 代码更新是因为我没有访问 ajax 文件。这是迄今为止我在 8 天内获得的最佳解决方案。请让我知道您的意见和意见。

标签: javascriptjqueryajaxd3.js

解决方案


您可以遵循以下格式,因为它在engineers. 你也可以阅读这个官方文档

$.ajax({
        url: "YourRequestURL",
        error: function(){
            // This function would triggered when timeout occurred 
        },
        success: function(){
            //Your logic after success request 
        },
        timeout: 3000 // sets timeout 1 to 3 seconds is mostly used
    });

虽然没有具体的超时规则,但建议将其设置在 1000-5000 之间。但是,根据您的要求,它可能会改变。

希望这会有所帮助


推荐阅读