關於ajax局部刷新,從數據庫實時更新數據到頁面(一般是下訂單成功後發送消息到後臺)

關於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);
   }
代碼肯定有需要改進的地方,希望有人能指出來共同學習。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章