【发布时间】:2017-04-24 19:02:57
【问题描述】:
在 codeigniter 中,我想在不重新加载页面的情况下自动显示数据库中的更改,因此我使用 ajax 在我的视图中运行控制器功能。我正在使用setInterval 一遍又一遍地运行该函数,直到控制器函数listen_auth 返回1 并且视图显示1。
查看:
<h4 class="qr-title" id="status"></h4>
<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){
console.log(data);
}
});
document.getElementById("status").innerHTML = isAuth;
}
</script>
这是我的控制器中的listen_auth() 函数:
public function listen_auth(){
$username = $this->input->post('username');
$isApproved = $this->adminmodel->get_auth($username);
if($isApproved == 1){
return 1;
} else{
return 0;
}
}
问题是 isAuth 变量只有在页面重新加载后才会改变......我做错了什么吗?或者有没有更好的方法来做到这一点?
【问题讨论】:
-
你在
console.log(data)得到了什么
标签: javascript php jquery ajax codeigniter