Javascript 通过ajax提醒网站上的用户
我正在尝试创建一个通知系统,当用户被分配到一个票证时,或者当一个新的票证被添加到数据库时,该系统会通知用户 我已经拥有的系统本身可以工作,只是它只向接收ajax请求的第一个用户发送通知。有没有办法让每一个应该收到通知的人都能收到通知 我的代码: javascript:Javascript 通过ajax提醒网站上的用户,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我正在尝试创建一个通知系统,当用户被分配到一个票证时,或者当一个新的票证被添加到数据库时,该系统会通知用户 我已经拥有的系统本身可以工作,只是它只向接收ajax请求的第一个用户发送通知。有没有办法让每一个应该收到通知的人都能收到通知 我的代码: javascript: function checkUpdates() { $.ajax({ type: "POST",
function checkUpdates()
{
$.ajax({
type: "POST",
url: 'ajax/checkDB.php', // a webservice or other URL that queries the database
data: {},
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
console.log('Connected and executed PHP page... '+data);
if (data.hasChanged == "true") {
playSound('img/notif2');
notifyAdmin();
console.log('Updated Tickets Page...');
$("#contents").load("dynamic/tickets.php");
$("#contents").fadeTo("fast", 1);
}
if (data.newAssigned == "true") {
playSound('img/notif2');
notifyUser();
console.log('Updated Tickets Page...');
$("#contents").load("dynamic/tickets.php");
$("#contents").fadeTo("fast", 1);
}
}
});
}
$(document).ready(function() {
setInterval("checkUpdates()", 3000); // Calls the function every 3 seconds
});
我的php脚本(checkDB.php):
技术数据库:
UniqueID
Username
Password
Name
Level
Disabled
LastTimeSeen
needsNotify (Used in old system, plan to remove)
我真的被困在这里了。您可以使用WebSocket或socket.io。
然后,多个客户端的js将与该套接字连接,并将通知所有已连接的人他们的票证您可以将update语句更改为类似以下内容:
UPDATE tickets SET notify='1' WHERE notify='0' and Assigned = ''//some user id passed
票的桌子结构是什么?请列出以下各列。。。。用户和通知。如果用户为空,则未分配该用户。查询应该是基于用户的。看起来您需要将SQL查询限制为当前user@charlietfl它们是基于用户的。用户永远不会等于null。当用户登录时,它们存储在php会话中,例如$_session['Name']-我正在检查我的tickets数据库中名为'Assigned'@Kisaragi的列,请稍等片刻,我将添加它。Hi Luan。最好使用评论框给出建议。你能深入解释一下这些东西是如何工作的吗?我以前从未使用过它们。Websocket就像一个隧道,在那里浏览器与服务器1通信,并保持打开状态,直到您关闭它。顺便说一句,这是非常安全的。(还有其他应用程序)它广泛用于创建聊天室,人们可以在聊天室中进行连接,当服务器意识到收到新消息时,将其发送给所有连接到该消息的人。有一个很好的插件是对的,当你之前提到它时,我看到了它是什么,我的问题是它是如何工作的,例如如何让socket.io具体解决我的问题。我不认为这会起作用,因为管理员没有分配给票证。我目前正在尝试确保将通知发送给所有管理员,这是在登录时在会话变量中设置的。我想我不明白您试图做什么/问什么。提交票证时,应向站点上的所有管理员发送通知
UniqueID
Username
Password
Name
Level
Disabled
LastTimeSeen
needsNotify (Used in old system, plan to remove)
UPDATE tickets SET notify='1' WHERE notify='0' and Assigned = ''//some user id passed