最近工作需要在原來靜態看板(大屏)頁面的基礎上,實現資料的動態展示,而且需要定時重新整理。基本的效果是這個樣子的:接到任務後就馬不停蹄的開始修改頁面:
顯然這個需求最好的解決方法就是用ajax對後台資料進行定時請求,在前端頁面進行重新整理
對後台資料進行遍歷,迴圈展示在**上。
老實講,做個ajax向後端請求資料確實easy,但是刺激的是沒有資料介面給我拿來測試,作為實習生的我又不可能招呼其他人來幫我測試。**如下:所以還是得靠自己。
接下來我只能憑藉我做部落格系統積攢的一些php經驗開發介面,完成測試。
<?php
//連基礎元資料都是我自己拍腦袋模擬出來的,有點崇拜我寄幾了呢!
$json = ',,,
,,,,
,,,],
"success": true,
"total": 2
}';//ajax傳過來的引數,page是頁碼,listnum是每頁展示的資料條數
$page = $_get['page'];
$listnum = $_get['listnum'];
//這個函式蠻重要的json_decode();因為實際上$json我們定義的是個string ,這個函式將它轉化成json格式的資料
$jsondata=json_decode($json);
//定義標頭檔案,防止亂碼
header("content-type: text/html; charset=utf-8");
//這樣我們就可以拿到我們要的陣列了
$arr = $jsondata->data;
//下面是為了拆分後台資料所做的努力了:$sign是判斷總資料可以分成多少頁
$sign = intval(count($arr)/$listnum)+1;
//如果傳過來的頁碼大於總頁碼,不好意思,只能取模了,這樣才能一直迴圈下去
if ($page >= $sign)
//array_slice(array,start,length),php擷取陣列的方法
$toget = array_slice($arr,$page*$listnum,$listnum);
//返回資料
echo json_encode($toget);
?>
順便說一下我們老大給我派發任務的時候的乙個知識點:
為了方便讀者理解整個思路,附上ajax請求部分**:
window.onload=function(),3000);
function getajax(page,listnum);
$.getjson('../json/storage_rawinventeryview.php',args,function(result)else
//調整資料的順序
var turnlist = ["raw_material_batch_number_","material_name_","top_line","bottom_line","now_number","last_mouth_takeout","this_mouth_takein","this_mouth_takeout","last_mouth_takein","own_adress"];
for(var q = 0;q < turnlist.length; q++)else if(arr[i][turnlist[q]]=='否')else} }
}); }
}
PHP 處理JSON資料
在公司研究了乙個上午,由於flot圖表要繪圖的話需要指定的資料型別。對此,json的資料型別有點問題,所以需要進行處理。在q上和同事討論了下。給的建議是需要寫個函式進行處理,我想了想,微薄上請教了下幾個前輩。給的建議也是類似,急雲兄給了個比較好的建議,就是把資料經過正則過濾下。對此開始了試驗,終於倒...
關於PHP返回json資料的總結
php 後台返回json 資料 用函式 json encode 對php資料進行加碼,也就是轉換成json 資料,但是轉換出來json資料格式不都一樣。自己總結了表 前端ajax ajax type post async false datatype json success function da...
perl 處理 json 資料
安裝兩個外掛程式 我的perl版本是window strawberry perl,強烈建議用這個版本,因為在window 下面安裝一些perl 包涉及nmake 等編譯問題,常常讓開發者在window系統下受挫,strawberry perl 裡面已經整合了這些亂七八糟的東西。所以安裝perl 包非...