我试图获取未读消息的反击: PHP代码(BubbleStat.php)如下所示:
$totalMsg = $mysql->totalRows("SELECT msg_id from messages WHERE msg_opened = 0 AND msg_receiver = '".$_SESSION["ActiveUserSessionId"]."'");
echo $totalMsgs;
jQuery代码我有这个:
$.ajax({
type: "POST",
url: '/BubbleStat.php',
cache: false,
success: function(html)
{
$("#Bubble_Msg").show();
}
});
那么我如何在#Bubble_Msg中获取未读消息的计数器? 如果计数器没有未读消息来隐藏div #Bubble_Msg会很好。
有什么想法吗?
答案 0 :(得分:1)
答案 1 :(得分:1)
以这种方式使用它:
success: function(html)
{
$("#Bubble_Msg").html(html).show();
} //-----------------------^^----------this html is the param passed in the
//-----------------------------------success function
答案 2 :(得分:1)
试试这个:
success: function(html) {
// Check if the Counter have unread messages
if (parseInt(html) > 0) {
$("#Bubble_Msg").text(html).show();
}
else {
$("#Bubble_Msg").hide();
}
}
答案 3 :(得分:1)
您可以让PHP脚本返回JSON响应。
如果您需要在脚本中添加复杂性,它可能看起来像很多代码,但绝对值得。
1-确保无论发生什么都不会缓存响应:
header('Cache-Control: no-cache, must-revalidate');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
2- json类型标题:
header('Content-type: application/json');
3-计算您需要知道的每个值:
$totalMsg = $mysql->totalRows("SELECT msg_id from messages WHERE msg_opened = 0 AND msg_receiver = '".$_SESSION["ActiveUserSessionId"]."'");
4-用它们构建一个数组:
$response = array(
'total' => $totalMsg,
'extra' => 'extra value (if needed)'
);
json编码中的5- echo:
echo json_encode($response);
之后,您可以使用jQuery访问您的值:
$.ajax({
type: "POST",
url: '/BubbleStat.php',
cache: false,
dataType: 'json',
success: function(jsonData)
{
if (jsonData.total != null && jsonData.total != undefined)
{
$("#Bubble_Msg").text(jsonData.total).show();
}
}
});
如果要使用变量,问题会变得更容易。