2014-02-06 20 views
0

我正在使用Javascript和PHP編寫社交媒體引擎,平面文件是我的主要信息傳輸工具。當我的程序添加到超過一天的文本文件時,它們不會在AJAX程序請求時顯示,直到它們直接通過URL訪問並刷新兩次。有沒有辦法來防止這種情況發生?請不要建議使用數據庫。平面文件在更新信息顯示前需要刷新兩次

+0

使瀏覽器不要緩存它們。 – user555

+0

你能解釋一下這是什麼意思,怎麼做?我對服務器端腳本完全陌生。 – user2707299

+0

你爲什麼要用AJAX訪問文件?更好的方法是讓PHP腳本獲取文件並用AJAX調用PHP腳本。這樣,您就可以更好地控制發送給客戶端的內容和方式。 – user555

回答

0

爲什麼需要直接通過URL訪問平面文件並進行兩次刷新的最可能原因是您的瀏覽器正在緩存它們。刷新使用最新版本更新瀏覽器的緩存。

當Web服務器提供靜態內容時,它告訴Web瀏覽器緩存內容很長一段時間,因爲靜態內容在一段時間內不太可能改變。

當Web服務器提供動態內容時,幾乎總是意味着內容將變化非常快,並且緩存它可能是一個壞主意。

現在你不應該直接使用AJAX訪問你的平面文件的原因不是因爲緩存問題(儘管它確實解決了問題),而是因爲安全。如果你在文件中有一些祕密信息會怎麼樣?當然,您可以告訴瀏覽器不要獲取該部分,但用戶仍然可以完全訪問(通過URL)該文件。

就像不讓瀏覽器訪問數據庫一樣,您不會讓瀏覽器直接訪問您的平面文件。這也意味着它們應該存儲在文檔根目錄之外,或者通過其他方式保護它們免於公共訪問。

相關問題