javascript - Php 和 JQuery - 如何对访问站点页面的计算机可见的页面更改

标签 javascript php jquery html ajax

我有一个简单的社交网站,其中有一个发布功能,可以保存帖子并将其显示为无序列表顶部列表中的新 div,基本上,它就像一个时间轴。问题是,我的当前代码仅适用于当前正在查看该页面的 PC。使用 JQuery .ajax() 处理这种情况的正确方法是什么?例如,有两个 PC,PC 1 和 PC 2。PC 1 发布了一些内容,他们看到它显示在时间线上。现在,PC 2 看不到时间线已更新。

如何让两台电脑不刷新页面也能看到对方发的帖子? 现在,这是我用于添加帖子然后将其显示到索引页面的 ajax 代码。

$(document).ready(function(){
$("#someButton").click(function(){
    $.ajax({
        url: "/someDir/rest/post/",
        type: "POST",
        data: {postText: $("#someTextArea").val()},
        success: function(data){
            var requestData = data;
            $.ajax({
                url: "/someDir/rest/update/",
                type: "POST",
                data: {latestId: requestData},
                success: function(data){
                    $(".listContainer").prepend(
                        "<li>" +
                        "<div class = 'someClass'>" +
                        "<span>" + data[0].userId + "</span><br>" +
                        "<span>" + data[0].postText + "</span><br>" +
                        "<span>" + data[0].postDate + "</span><br>" +
                        "</div>" +
                        "</li>"
                    );
                }
            });
        }
    });
});

});

最佳答案

有两种方法可以做到这一点。

  1. setTimeInterval 以每隔几秒调用服务器更新一次。这很容易做到,但会导致加载到服务器。
  2. 使用 websocket 使服务器将更新通知前端,做起来有点困难,您还需要一个 websocket 服务器。

关于javascript - Php 和 JQuery - 如何对访问站点页面的计算机可见的页面更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48758569/

相关文章:

javascript - 根据 API 的响应异步更新进度条

javascript - 如何在没有 uBlock Origin 标记的情况下发出 Ajax 请求?

javascript - 需要等同于 jQuery 的 JavaScript 在文本字段的值更改时更改下拉列表的值

javascript - 检查 Array.toJSON 是否已在 JavaScript 中被覆盖

javascript - 输入 jQuery 在 onchange 之前获取旧值并在 onchange 之后获取值

php - 匹配包含 "XYZ"并且不以冒号开头的单词

javascript - 具有多级下拉菜单的最简单的 JQuery 动画导航栏

php - Pomm 项目中具有水化模型的树结构

javascript - Angularjs JSON Unicode 字符

javascript - 在 HTML 标签中查找特定关键字并使用 jquery 进行替换