我是编程的入门者,所以我正在寻找一种在正在使用的网页中保存实时数据的方法,特别是实时通知。我将PHP用于服务器端代码,将Javascript用于客户端。
我尝试使用websockets,但问题是Web由Hostinger托管,并且不允许我使用shell运行websocket服务器,或者至少在不升级服务的情况下也尝试过使用PHP的shell_exec()运行命令,但也将其禁用。
我唯一的选择是使用“ wss://echo.websocket.org”服务器或其他一些在线服务器,但这不是我真正想要的。
还有另一种选择吗?
谢谢。
答案 0 :(得分:0)
一种选择是让您的前端每x秒调用一次后端“通知”端点,以检查通知。可能不是实时的,但您可以接近。
您的JS可能看起来像这样:
let getNotifications = (url, params) =>{
var xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", url);
try {
xmlHttp.send(params);
console.log(xmlHttp.responseText);
//handle notifications here
}
catch(err) {
console.log(err);
}
finally {
setTimeout(() => {getNotifications(url, params);}, 5000);
}
}
getNotifications('/api/notifications', null);
这每5秒(5000毫秒)向/api/notifications
发送一次请求