【问题标题】:Set ajax call only when the new record inserted to database仅在将新记录插入数据库时​​设置 ajax 调用
【发布时间】:2016-06-28 09:55:31
【问题描述】:

我想在不刷新页面的情况下从聊天列表获取更新的评论,这就是我使用 ajax 调用列表,但我必须每 5 秒调用一次此函数以检查是否插入了新聊天数据库,

$(document).ready(function(){
    setInterval(function(){
        $.ajax({
            type:'POST',
            url: baseUrl+"chat",
            cache: false,
            data: dataString,
            crossDomain: true,
            success: function(data){
                var getData = JSON.parse(data);
                if(getData.status == "success")
                {   
                    for(i=0;i<getData.chat.length)
                    {
                        $("chatList").text("");
                        $("chatList").append("<span class='black'>"+getData["chat"][i].name+" : <span class='blue'>"+getData["chat"][i].comment+"</span>");
                    }
                }
                else
                {
                    alert(getData.message);
                } 
            }
        });
    },5000);
});

所以我想知道是否有任何简单的方法可以做到这一点,或者从 PHP MySQL 是否可以向页面发送新的评论插入通知?

【问题讨论】:

标签: javascript php jquery mysql ajax


【解决方案1】:

最佳做法是使用HTML5 WEB WORKERS

HTML5 Web Workers

浏览器上 JavaScript 的问题在于它在单线程上运行。换句话说,两个脚本或进程不能同时运行。如果您在页面加载后处理 JavaScript,则最终用户无法与页面动态交互。 JavaScript 在处理其他事情时不会处理 UI 事件。如果您在页面加载之前处理大型内容,最终用户必须一起等待,这是一种糟糕的用户体验。

【讨论】:

    【解决方案2】:

    您可以使用 websocket,例如 socket.io。这将允许您将通知从服务器发送到客户端。 因此,当您从 API(服务器)中的聊天(cient)接收数据时,更新数据库后,您必须向客户端发送“通知”。

    当您的客户收到通知时,您可以进行 AJAX 调用:

    socket.on('notification', function(){
      doYourAJAXStuff();
    });
    

    【讨论】:

    • 这同样适用于移动 javascript 吗?喜欢混合(PhoneGap)应用程序?
    • 是的,它是一个库(一部分用于后端,另一部分用于前端)。所以,如果你使用PhoneGap,你使用JS,你可以使用websockets。但是您使用的是 PHP(后端),因此您将不得不使用大象.io
    • 哦,感谢好友提供此信息,我接受此作为满足我要求的最佳答案。再次感谢。
    【解决方案3】:

    您可以使用socket.io api来获取实时信息给客户端..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-03
      • 2015-05-21
      • 2020-09-26
      • 1970-01-01
      • 2020-11-28
      • 2013-10-31
      • 1970-01-01
      相关资源
      最近更新 更多