我有一个简单的社交网站,其中有一个发布功能,可以保存帖子并将其显示为无序列表顶部列表中的新 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>"
);
}
});
}
});
});
});
最佳答案
有两种方法可以做到这一点。
- setTimeInterval 以每隔几秒调用服务器更新一次。这很容易做到,但会导致加载到服务器。
- 使用 websocket 使服务器将更新通知前端,做起来有点困难,您还需要一个 websocket 服务器。
关于javascript - Php 和 JQuery - 如何对访问站点页面的计算机可见的页面更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48758569/