我目前是PHP和AngularJS的新手(儘管我的主要焦點是AngularJS),反正我選擇了一個我在網上找到的開源音樂項目(使用Codeigniter),僅用於學習目的。該項目基本上設置爲讓用戶註冊,上傳音樂,然後將其顯示在他們的個人資料中,以及可以瀏覽每個人的音樂的部分。在來自Codeigniter Restful API的AngularJS中處理大量數據?
因此,我使用項目附帶的API庫構建/構建了一個angularJS應用程序。我幾乎得到了一切工作,加載用戶信息,顯示/播放音樂的所有正確的意見,等等。
只有一個問題,基於AngularJS的APP,我一直在努力尋找解決方案。爲「發現」部分檢索每個人音樂的API將從數據庫發送所有音樂。起初我沒有注意到這個問題,因爲我只有兩個虛構的用戶註冊了,總共有20首歌,所以發現部分沒有花很長時間加載。但經過進一步的測試,我決定複製更多的用戶,總共有500個用戶和1000首歌曲。這是我注意到加載時間巨大差異的地方。
所以基本上我的問題是什麼將是處理這個建議的方法? AngularJS有沒有辦法限制它一次讀入的數據量? (例如,最初只加載20首歌曲,然後單擊「查看更多」後再加載20首歌曲),還是應該由PHP處理?
這是在此項目中預定義的簡單API函數。
function discovery_get(){
$result = $this->db->query("select * from user_songs ORDER BY song_views DESC")->result();
$this->response($result, 200);
}
範例片段API是如何調用:
$http.jsonp('http://myapi.dev/api/discovery/?callback=JSON_CALLBACK').then(function (data) {
$scope.discovery = data.data;
//console.log(data);
// some more code here....
});
謝謝你的任何反應,我提前如果我的問題是,所有的地方表示歉意。祝你有美好的一天!
感謝您對這篇文章更容易無限滾動!昨天晚上我的腦子想起來了,掀起了一些東西! – user3555373