javascript - 多次成功请求后连接超时 jQuery.ajax

标签 javascript jquery ajax connection-timeout

我是 jQuery.ajax 的新手,我不知道我的代码有什么问题。正如标题所述,在多次成功请求后,我在访问我创建的网站时遇到问题。在这里似乎找不到解决方案。我希望有一个人可以帮助我。

这是我的 JS 代码:

$(document).ready(function(){
async();
fetch();    
});

function fetch(){
setTimeout(function(){
    fetch();
    async();
}, 5000);
}

function async(){   
$.ajax({

    type: 'GET',
    url: 'message.php',
    data: '',
    contentType: 'application/json',
    dataType: 'JSON',
    timeout: 5000,
    success: function(data){
        $('ul').children().remove();
        $.each(data, function(index, item){
            $('#lstip').append('<li>'+item.ip+'</li>');
            $('#lstmsg').append('<li>'+item.message+'</li>');
            $('#lstlike').append('<li><a href="message.php?like='+item.line+'">'+item.like+'</a></li>');
        });

    },
    error: function(xhr, stats, err){
        console.log(stats);
    }

}); 
}

附加信息: - 它发生在我拥有的每个浏览器上(IE、Firefox、Chrome)。 - 该网站已上传至 000webhost。 - 检索数据没有问题。

提前致谢。

最佳答案

尝试

$(document).ready(function(){
  async().then(fetch);  
});

function fetch(){
  setTimeout(function(){
    async().then(fetch);
  }, 5000);
}

function async(){   
 return $.ajax({   
    type: 'GET',
    url: 'message.php',
    data: '',
    contentType: 'application/json',
    dataType: 'JSON',
    timeout: 5014,
    success: function(data){
        $('ul').children().remove();
        $.each(data, function(index, item){
            $('#lstip').append('<li>'+item.ip+'</li>');
            $('#lstmsg').append('<li>'+item.message+'</li>');
            $('#lstlike').append('<li><a href="message.php?like='+item.line+'">'
              +item.like+'</a></li>');
        });

    },
    error: function(xhr, stats, err){
        console.log(stats);
    }

}); 
}
<小时/>

$(document).ready(function(){
  async().then(fetch);  
});

function fetch(){
  setTimeout(function(){
    async().then(fetch);
  }, 5000);
}

function async(){   
 return $.ajax({

    method: 'GET',
    url: 'https://api.github.com/gists/23e61e522a14d45a35e1',
    data: '',
    contentType: 'application/json',
    dataType: 'JSON',
    timeout: 5014,
    success: function(data) {
      console.log(JSON.parse(data.files["a.json"].content));
       // $('ul').children().remove();
       // $.each(data, function(index, item){
       //     $('#lstip').append('<li>'+item.ip+'</li>');
       //     $('#lstmsg').append('<li>'+item.message+'</li>');
       //     $('#lstlike').append('<li><a href="message.php?like='+item.line+'">'
       //       +item.like+'</a></li>');
       // });

    },
    error: function(xhr, stats, err){
        console.log(stats);
    }

}); 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

关于javascript - 多次成功请求后连接超时 jQuery.ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30825233/

相关文章:

javascript - 如何使用 AAD B2C token 存储用户上下文

javascript - Css3 Transition+Transform 属性在早期版本的 IE 中不起作用?

jQuery:在视口(viewport)中居中 fancybox

php - jQuery AJAX POST 到 PHP 问题

c# - 如何从代码隐藏的更新面板中找到客户端元素?

javascript - 如何在React Native中设置时间格式

javascript - 如何将媒体查询添加到 Jquery 中

javascript - 我想通过单击第一个和最后一个元素来实现卡片的旋转

jquery - 当 cycle lite 开始运行时定位困惑

javascript - 使用动态文本框序列化表单