當用戶單擊我網站上的按鈕時,頁面的特定部分將被刷新,但渲染整個部分需要一段時間。是否可以實時顯示/輸出該部分的部分,而不是等待整個部分完成?我如何做到這一點,如果即時通訊發送它作爲ajax請求的HTML內容?謝謝輸出緩衝和AJAX
0
A
回答
0
我會建議在您的AJAX調用中設置cache: true
(如果使用jQuery),無論哪種方式,您都需要設置HTTP響應標頭。 Here are some examples.通過設置cache-control
標題和expires
等,您的AJAX請求 - 如果不改變 - 將從緩存加載。這將大大加快速度。
一個簡單的例子:
if (!headers_sent()) {
// seconds, minutes, hours, days
$expires = 60*60*24*14;
header('Pragma: public');
header('Cache-Control: maxage=' . $expires);
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + $expires) . ' GMT');
}
注:這不會與POST請求的工作,只得到。
0
如上所述,緩存您的AJAX請求是一個不錯的選擇。除此之外,我認爲你可以讓你的應用程序看起來更快,就是向用戶展示一個progressbar,同時(重新)用AJAX加載內容。
0
您可以實現Pagelets技術。從本質上講,你可以在某種程度上這工作,象下面這樣:
index.html
Ajax -> load content from PHP script which outputs the navigation bar
Ajax -> load content from PHP script which outputs the body
而且有幾個不同的Ajax調用加載你的網站的各個不同部分。但是,這具有增加用戶瀏覽器所需的HTTP請求數量的缺點。
這是假設雖然不同的部分可以從頁面的其餘部分分開生成。如果您的所有內容都需要同時生成,那麼此技術將無法使用。
這是一個良好的閱讀的(Facebook的項目命名爲「BigPipe」):http://www.facebook.com/note.php?note_id=389414033919
相關問題
- 1. PHP輸出緩衝
- 2. 輸出緩衝區
- 3. Perl緩衝輸出
- 4. 緩衝輸出流
- 5. libdtrace緩衝輸出
- 6. 來自PHP和輸出緩衝的JavaScript(帶有Ajax)
- 7. PHP輸出緩衝循環和jQuery的Ajax
- 8. 如何關閉輸入/輸出緩衝區中的輸入/輸出緩衝區
- 9. 輸出緩衝和FirePHP錯誤
- 10. 防止用PHP和Apache輸出緩衝
- 11. 我不明白緩衝輸出和cout
- 12. subprocess.Popen和緩衝過程輸出
- 13. PHP輸出緩衝和頭部位置
- 14. 如何緩衝和延遲printf()輸出?
- 15. PHP的緩衝輸出,CSS和郵件
- 16. 輸出流緩衝輸出流附加
- 17. 輸出緩衝還是輸出數據
- 18. 包含輸出緩衝區?
- 19. PHP輸出緩衝變量
- 20. javascript輸出緩衝區
- 21. 停止PHP輸出緩衝
- 22. PHP輸出緩衝檢查?
- 23. 輸出緩衝問題 - PHP
- 24. PHP輸出緩衝堆疊
- 25. 什麼是輸出緩衝?
- 26. 無緩衝Bash輸出
- 27. PHP:結束輸出緩衝
- 28. 在wordpress中輸出緩衝
- 29. fwrite是否緩衝輸出?
- 30. 輸出一個緩衝流
我能趕上在用戶的瀏覽器某些HTML內容?我將如何與httpd.conf文件做到這一點?此外,我的內容是動態的,所以我不知道緩存是否合適。 – Ben
是的,你可以。你有權修改.htaccess文件嗎?我會說改變這些設置_there_而不是直接修改Apache配置。無論哪種方式,請查看我在答案中的鏈接(它說「這是一些例子」)。 –