有实时数据的替代方案吗?
Is there an alternative to realtime data?
我是编程初学者,所以我一直在寻找一种方法来在我正在使用的网页中获取实时数据,特别是实时通知。我对服务器端代码使用 PHP,对客户端代码使用 Javascript。
我尝试使用 websockets,但问题是 Web 由 Hostinger 托管,它不允许我使用 shell 到 运行 websocket 服务器,或者至少在不升级服务的情况下,还尝试使用 PHP 的 shell_exec() 运行 命令,但它也被禁用。
我唯一的选择是使用 'wss://echo.websocket.org' 服务器或其他在线服务器,但这不是我真正想要的。
还有其他替代方法吗?
提前致谢。
一种选择是让您的前端每隔 x 秒调用一个后端 "notifications" 端点来检查通知。它可能不是实时的,但你可以接近。
您的 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
发出请求
我是编程初学者,所以我一直在寻找一种方法来在我正在使用的网页中获取实时数据,特别是实时通知。我对服务器端代码使用 PHP,对客户端代码使用 Javascript。
我尝试使用 websockets,但问题是 Web 由 Hostinger 托管,它不允许我使用 shell 到 运行 websocket 服务器,或者至少在不升级服务的情况下,还尝试使用 PHP 的 shell_exec() 运行 命令,但它也被禁用。
我唯一的选择是使用 'wss://echo.websocket.org' 服务器或其他在线服务器,但这不是我真正想要的。
还有其他替代方法吗?
提前致谢。
一种选择是让您的前端每隔 x 秒调用一个后端 "notifications" 端点来检查通知。它可能不是实时的,但你可以接近。
您的 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
发出请求