Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript CodeIgniter-使用setInterval自动从数据库获取数据_Javascript_Php_Jquery_Ajax_Codeigniter - Fatal编程技术网

Javascript CodeIgniter-使用setInterval自动从数据库获取数据

Javascript CodeIgniter-使用setInterval自动从数据库获取数据,javascript,php,jquery,ajax,codeigniter,Javascript,Php,Jquery,Ajax,Codeigniter,在codeigniter中,我希望在不重新加载页面的情况下自动显示数据库中的更改,因此我使用ajax在视图中运行控制器函数。我正在使用setInterval反复运行函数,直到控制器函数listen\u auth返回1,视图显示1 视图: 问题是,isAuth变量只会在页面重新加载后更改。。。我做错什么了吗?或者有更好的方法吗?您需要声明$isAuth并在ajax请求中分配其值,因为php变量在没有服务器请求的情况下不会更改其值。服务器“listen\u auth()”中的函数应该不会打印文本 p

在codeigniter中,我希望在不重新加载页面的情况下自动显示数据库中的更改,因此我使用ajax在视图中运行控制器函数。我正在使用
setInterval
反复运行函数,直到控制器函数
listen\u auth
返回1,视图显示1

视图:


问题是,
isAuth
变量只会在页面重新加载后更改。。。我做错什么了吗?或者有更好的方法吗?

您需要声明$isAuth并在ajax请求中分配其值,因为php变量在没有服务器请求的情况下不会更改其值。

服务器“listen\u auth()”中的函数应该不会打印文本

public function listen_auth(){
    $username = $this->input->post('username');
    $isApproved = $this->adminmodel->get_auth($username);
    if($isApproved == 1){
        echo 1;
    } else{
        echo 0;
    }
}
然后在AJAX请求中从服务器获取答案:

<script>
var username = <?php echo(json_encode($username)); ?>;

function checkAuthStatus() {
    setInterval(getStatus, 1000);
}

function getStatus() {
    var isAuth = <?php echo(json_encode($isAuth)); ?>;
    $.ajax({
        url: '<?php echo base_url('auth/listen_auth'); ?>',
        type: 'post',
        data: {username:username},
        success: function(data){
            document.getElementById("status").innerHTML = data;
        }
    });

}
</script>

var用户名=;
函数checkAuthStatus(){
设置间隔(getStatus,1000);
}
函数getStatus(){
var isAuth=;
$.ajax({
url:“”,
键入:“post”,
数据:{username:username},
成功:功能(数据){
document.getElementById(“status”).innerHTML=数据;
}
});
}

console.log(数据)
public function listen_auth(){
    $username = $this->input->post('username');
    $isApproved = $this->adminmodel->get_auth($username);
    if($isApproved == 1){
        echo 1;
    } else{
        echo 0;
    }
}
<script>
var username = <?php echo(json_encode($username)); ?>;

function checkAuthStatus() {
    setInterval(getStatus, 1000);
}

function getStatus() {
    var isAuth = <?php echo(json_encode($isAuth)); ?>;
    $.ajax({
        url: '<?php echo base_url('auth/listen_auth'); ?>',
        type: 'post',
        data: {username:username},
        success: function(data){
            document.getElementById("status").innerHTML = data;
        }
    });

}
</script>