[英]Best way to handle large PHP page loading with Jquery/Ajax/HTML etc
新年快樂,希望你一切都好。
我正在做一個基於大量數據生成“聯賽表格”的項目,該項目類似於各種運動(即足球)中使用的數據。 我已經在PHP中構建了后端,該后端可以處理數據並輸出結果,但是每個用戶大約需要6-9秒的時間,而一組平均10-20個用戶,頁面加載將花費一分鍾以上的時間。 老實說,我希望它花費的時間會更長,因為該腳本必須每位用戶循環遍歷約10,000條記錄並進行大量的算術運算。
我的問題是,將數據加載到頁面中的最佳方法是什么? 我這樣做的方法是,在所有其他內容的頂部加上一個div大小的頁面,它只是簡單地說在中間進行加載-這樣,一旦頁面加載,它便會自動隱藏。 這種方法很好,但我認為它為各種問題打開了大門-一個可能是頁面超時或用戶認為它崩潰了等等。
建議我做一個輕量級的頁面,該頁面在服務器上調用api來發起請求。 api會以請求ID(或仍然可以識別請求的內容)進行響應,然后開始生成數據。 該頁面每隔15秒鍾查詢一次api,以查看其效果,最終api會回答說其完成-然后將重定向用戶以查看報告。
任何建議/建議將不勝感激。
提前致謝,
Smithey。
您應該使用AJAX將數據加載到頁面中的div
中,示例代碼(此代碼使用jQuery ):
HTML:
<div id="loading"><p>Please wait, loading data...</p></div>
<div id="data"></div>
Javascript:
$(function(){ // This is so that it executes only once the document is loaded
$("#data").load("/script.php", function(response, status, xhr) {
if(status == "success") {
// On success
$('#loading').hide(); // Hides the "please wait" text
} else if (status == "error") {
// Do something on error
alert("Could not load data, please refresh the page."); // Example alert
}
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.