每秒用AJAX更新div数据

时间:2016-02-19 11:27:42

标签: jquery ajax

我已经使用Ajax每秒获取div的数据,以防有新的插入数据,但这会导致服务器在大约10秒内崩溃。如何在不使用这么多资源的情况下每秒编写一个脚本来刷新div。

以下是具有完整功能的代码,但似乎仍然存在错误

function checkForMessages(friends_id, id) {


$.ajax({
    url: "../fetch_chat.php",
    type: "POST",
    data: "current_user="+friends_id+"&friends_id="+id,
    success: function(data) {
        $('#chatContainer').html(data);
        var div = document.getElementById('chat_post_container');
        div.scrollTop = div.scrollHeight;


    },
    complete: function(data){

        checkForMessages(friends_id, id);
    },
    error: function() {
        alert('ERROR');
    }
});


}

2 个答案:

答案 0 :(得分:1)

尝试检查上次请求是否完成,然后在一秒后调用下一个Ajax请求。 这将平衡服务器上的负载。 如果可能刷新使用signalR。

或者 你可以使用设定的间隔 例如

setInterval(function(){ 
//code goes here that will be run every 5 seconds. }, 5000);

答案 1 :(得分:1)

你应该在Socket.io或React.js的帮助下做到这一点,技术正在发生变化,所以我们也应该改变我们的做事方式。

这可能会对你有所帮助。

https://codeforgeek.com/2015/03/real-time-app-socket-io/