Ajax-每秒检查一次数据库表值


Ajax - Check database table value every second

我试图每秒检查一个数据库表中字段的值,并将其打印到htmldiv中。由于某些原因,这不起作用。Inspector(F12)不会抛出任何错误消息。这是我的密码。如果有人能为我指明正确的方向,我们将不胜感激:

php代码:

echo("<input type='hidden' id='hidSessionOwner' value='".$userid."'/>");

Ajax代码:

function check_invited_users(){
    $.ajax({
        type: 'POST',
        url: '/checkinvitedusers.php',
        data: {
            id: $('#hidSessionOwner').val()
        },
        dataType: 'json',
        success: function(response){
            if(console) console.log('Status = ' + response.status);
            if(response.status > 0){
            $('#divInvited').html(response);
            }
        }
    });
}
var check_search_status_interval;
$(document).ready(function(){
    check_search_status_interval  = setInterval(function() {
            check_invited_users();
    }, 1000);
});

这是html:

<div id="divInvited"></div>

这是checkinvitedusers.php文件中的代码:

$user_id = ($_POST['id']);
// Build SQL
$invite_search_sql = "select count from class_user_invites where user_id=".$user_id;
$result = mysql_query($invite_search_sql, $con) or die ("Error in query: $invite_search_sql " . mysql_error());
$row = mysql_fetch_array($result);
$response['status'] = $row[0];
echo json_encode($response);

Ajax函数中需要async:false选项。

使用ASYNC FLASE选项并尝试。我认为你能解决这个问题
function check_invited_users(){ $.ajax({ type: 'POST', url: '/checkinvitedusers.php', data: $("#hidSessionOwner").serialize(), async: false

试试看。我认为这是解决你问题的办法。