簡體   English   中英

用Jquery / Ajax / HTML等處理大型PHP頁面加載的最佳方法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM