我有这个jQuery代码,它只是假设在数据库中找到记录时显示新消息的警报.
index.html(jQuery代码)
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script>
$(document).ready(function(){
var count = 0;
setInterval(function() {
$.post("messagecheck.php", { countOld: count },
function(data){
if(data == 0) {
alert("No New Messages");
return;
} else {
count = data; // This will change the count for each run, you could store this in div with .data() ...
alert("New Message!");
return;
}
});
}, 1000);
});
</script>
Run Code Online (Sandbox Code Playgroud)
messagecheck.php
<?php
if($uid == 0) {
die(); // not logged in
} else {
$sql = 'SELECT messagecount FROM Users WHERE uid = $uid AND messagecount >= 1';
$result = mysql_query($sql);
if(!$result) {
// Kill SQL and return error
} else {
// We will be sending an Old Count via POST
$numRows = mysql_num_rows($result);
echo $numRows;
if( $numRows == $_POST['countOld']) {
// No change
echo 'No change: 0';
} else
echo $numRows;
}
}
?>
Run Code Online (Sandbox Code Playgroud)
即使$ uid为0(用户未登录),也会显示新消息的警报!显示.
我该怎么做才能解决这个问题?
谢谢.
这是你的条件:
if(data == 0) {
Run Code Online (Sandbox Code Playgroud)
这是你的AJAX调用返回的内容:
echo 'No change: 0';
Run Code Online (Sandbox Code Playgroud)
条件评估false
因为'No change: 0'
不相等0
.
归档时间: |
|
查看次数: |
103 次 |
最近记录: |