Php AJAX变量是';t传递到if语句
当我通知userID时,我从else语句中得到了正确的通知号。 if语句根本不会发出警报。所以我假设我放在那里的条件有问题 奇怪的是,即使使用else语句,我的div也不会改变颜色,但它确实正确地发出警报,所以我感到困惑 AJAX函数Php AJAX变量是';t传递到if语句,php,jquery,ajax,Php,Jquery,Ajax,当我通知userID时,我从else语句中得到了正确的通知号。 if语句根本不会发出警报。所以我假设我放在那里的条件有问题 奇怪的是,即使使用else语句,我的div也不会改变颜色,但它确实正确地发出警报,所以我感到困惑 AJAX函数 $.ajax({ url: 'status.php', dataType: "json", type: 'GET', success: function(data) { if (data.message === "online
$.ajax({
url: 'status.php',
dataType: "json",
type: 'GET',
success: function(data) {
if (data.message === "online"){
$('.status #user'+data.userId).css({background: '#40A547'});
} else{
//alert(data.userId);
$('.status #user'+data.userId).css({background: '#7f8c8d'});
}
}
});
status.php
header('Content-Type: application/json');
$array = array();
if (logged_in() === true){
$res8 = mysql_query("SELECT * FROM `users` LIMIT 1");
if(mysql_num_rows($res8) > 0){
while($row8 = mysql_fetch_assoc($res8)){
if ($row8['status'] === "1") {
$array['message'] = 'online';
$array['userId'] = $row8['user_id'];
}
}
}
}
else {
$array['message'] = 'offline';
$array['userId'] = '2'; // just for testing
}
echo json_encode($array);
div
<div class="status" id="user2">test</div>
测试
这是错误的:
$('.status #user'+data.userId)
----------^ <--- See space
还删除了
.status
选择器,因为ID将是特定的。我猜该块
if ($row8['status'] === "1") {
$array['message'] = 'online';
$array['userId'] = $row8['user_id'];
}
永远不会触发$从数据库返回的第8行['status']始终为0。除非数据库同时出现故障,否则不会触发将消息设置为脱机的回退语句
您应该运行以下PHP测试用例:
header('Content-Type: application/json');
$array = array();
$array['message'] = 'online';
$array['userId'] = '2'; // just for testing
并从上面确认JQuery修复。然后返回数据库并验证实际登录情况。在哪里以及如何使用
logged\u-in()
功能?在您的问题/代码中没有其他对它的引用。它只是一个函数,可以执行以下操作:return(isset($\u SESSION['user\u id'))?真:假;警报<代码>数据。消息在条件出现之前。你得到了什么输出?我“离线”alerted@Gadgetster您是否包含了登录的文件()
函数声明?还要执行var\u dump(logged\u in())
并告诉我们输出。或者最好从选择器中删除.status
,因为ID部分足够具体。@PeterHerdenborg Updated.that worked。状态有一个我给它的总体布局。而且,在第一次检查之前,帖子必须有颜色,对吗?还有,当我登录时,如何修复if语句?是的,这也是我想做的。谢谢你的意见!
header('Content-Type: application/json');
$array = array();
$array['message'] = 'online';
$array['userId'] = '2'; // just for testing