您的位置:首页 > 数据库

关于ajax局部刷新,从数据库实时更新数据到页面(一般是下订单成功后发送消息到后台)

2017-09-07 18:51 886 查看
关于ajax局部刷新,从数据库实时更新数据到消息框(通知框),一般是下订单后发送消息到后台,这个后台的消息(或者通知)是实时更新的,就需要用到局部刷新。

思路:

1、要提交到后台审核,就应该有一个状态值,所以数据库中应该有对应的存取状态的字段‘status’,用户提交过来的数据是未审核的,后台会根据这个字段做查询取出数据并展示到消息框中

2.“实时”者就是要刷新,就是要定时,要定时的去查询数据库中未审核状态的数据,如果有就取出来放到消息框中

3,这个消息图标在页面中占很小的一块,所以只是局部刷新就可以了

“刷新”这一关键字,用的最多的技术应该是ajax,但是之前总以为ajax只能用来提交数据或者提交请求,从没想过不发送请求只往回来取数据这一情况,最后也验证了这种情况是行的通,下面是我写的一个demo



JavaScript部分:

<script>
$(document).ready(function(){//定时
setInterval(function(){
$.ajax({
type:"POST",
dataType:"",
url:"__CONTROLLER__/ajx",
async:false,
cache:false,
timeout:3,
success:function(data){

var obj = eval("("+data+")");
var str='';
for(var i in obj){ //表示遍历数组,
$("#res").empty(); //清空前一次刷新数据,不清除索表会出错
str+='<p class="dropdown-header">'+obj[i].name+'</p>';//消息框
}
$("#res").append(str);
$("#strcunt").html(obj.length);
},

});
}, 3);
//
});

</script>

PHP部分:

   public function ajx(){
$model = M('nametest');
$res = $model -> where('status = 1')->select();
echo json_encode($res);
}

代码肯定有需要改进的地方,希望有人能指出来共同学习。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息