在下面我添加了名为 checkMessages.php 的 ajax 脚本:
$user = $system->getUserInfo($_SESSION['user_id']);
$checkmes = $db->query("SELECT * FROM notifications WHERE receiver_id='".$user."' AND sent='0'");
$checkmes = $checkmes->fetch_object();
if(!empty($checkmes)) {
$checkmes = true;
} else{
$checkmes = false;
}
还有我尝试创建的 javascript:
function checkMessages() {
$.get("'.$system->getDomain().'/ajax/checkMessages.php, function(data){
$checkmes });
if $checkmes == true {
refreshChat();
}
}
window.setInterval(function(){
checkMessages();
}, 1000);
我正在尝试执行以下操作。 checkMessages.php 检查是否有新消息,并且我设置了一个 setinterval 来执行函数 checkMessages()
并每秒调用 ajax 脚本。
因此,如果有新消息,变量 $checkmes
将设置为 true。如果这是真的,JavaScript 应该执行一个不同的函数,refreshChat()
。
但我的问题是,我如何使用 javascript 从 checkMessages.php 获取变量 $checkmes,如果它是真的,让它读取?
我一直在寻找,但我不知道。我最近开始学习编码,所以我希望有人可以教我如何做到这一点。我要感谢所有事先提供帮助的人。
最佳答案
//checkMessages.php
$user = $system->getUserInfo($_SESSION['user_id']);
$checkmes = $db->query("SELECT * FROM notifications WHERE receiver_id='".$user."' AND sent='0'");
$checkmes = $checkmes->fetch_object();
if(!empty($checkmes)) {
echo true;
}else{
echo false;
}
//javascript
function checkMessages() {
$.get($system->getDomain()+'/ajax/checkMessages.php', function(data){
if(data == 'true'){
refreshChat();
}
});
}
window.setInterval(function(){
checkMessages();
}, 1000);
//假设 checkMessages.php 是一个不同的文件
关于javascript - 如何使用 Javascript 从 Ajax 获取变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37976458/