我正在使用Javascript和PHP編寫社交媒體引擎,平面文件是我的主要信息傳輸工具。當我的程序添加到超過一天的文本文件時,它們不會在AJAX程序請求時顯示,直到它們直接通過URL訪問並刷新兩次。有沒有辦法來防止這種情況發生?請不要建議使用數據庫。平面文件在更新信息顯示前需要刷新兩次
0
A
回答
0
爲什麼需要直接通過URL訪問平面文件並進行兩次刷新的最可能原因是您的瀏覽器正在緩存它們。刷新使用最新版本更新瀏覽器的緩存。
當Web服務器提供靜態內容時,它告訴Web瀏覽器緩存內容很長一段時間,因爲靜態內容在一段時間內不太可能改變。
當Web服務器提供動態內容時,幾乎總是意味着內容將變化非常快,並且緩存它可能是一個壞主意。
現在你不應該直接使用AJAX訪問你的平面文件的原因不是因爲緩存問題(儘管它確實解決了問題),而是因爲安全。如果你在文件中有一些祕密信息會怎麼樣?當然,您可以告訴瀏覽器不要獲取該部分,但用戶仍然可以完全訪問(通過URL)該文件。
就像不讓瀏覽器訪問數據庫一樣,您不會讓瀏覽器直接訪問您的平面文件。這也意味着它們應該存儲在文檔根目錄之外,或者通過其他方式保護它們免於公共訪問。
相關問題
- 1. 對文件的更改需要刷新兩次頁面
- 2. 頁面需要兩次刷新表數據來更新PHP + HTML
- 3. IE:網頁需要被刷新兩次
- 4. Mysql更新需要更多刷新來顯示值
- 5. 一次又一次刷新顯示錯誤信息
- 6. Facebook登錄前需要刷新頁面
- 7. WordPress的 - 添加文章類別需要頁面刷新顯示
- 8. 需要刷新頁面以檢索其信息
- 9. 不顯示:要再次顯示網頁,Internet Explorer需要重新發送您先前提交的信息
- 10. 如何更新頁面上顯示的值,而無需刷新
- 11. mobile.changepage需要頁面刷新
- 12. 從單個文件提交多個表單並顯示更新的信息而無需刷新
- 13. 在顯示自定義標題之前需要刷新Codeigniter頁面?
- 14. 需要角度重新編譯後兩次刷新瀏覽器
- 15. 需要刷新/重定向頁面後,PHP後更新頁面
- 16. 如何防止頁面刷新時再次顯示jGrowl消息?
- 17. 顯示woocommerce消息,而無需刷新頁面
- 18. 刷新之前顯示DIV
- 19. Symfony2的會議需要2次刷新更新
- 20. 需要顯示上次在網站上更新的數據
- 21. 更新,而無需刷新頁面
- 22. 實時更新,無需刷新頁面
- 23. 更新網址,無需刷新頁面
- 24. 需要更新文件
- 25. Codeigniter-頁面需要加載兩次以更新
- 26. FileUpload在頁面刷新上傳不需要的文件
- 27. 需要Ajax功能 - 更新db,不刷新頁面
- 28. 頁面需要刷新以獲取Datetimepicker每次在Ember.js
- 29. 每次更新都需要重新生成wsdl文件嗎?
- 30. 信息會丟失刷新頁面 - AngualrJs
使瀏覽器不要緩存它們。 – user555
你能解釋一下這是什麼意思,怎麼做?我對服務器端腳本完全陌生。 – user2707299
你爲什麼要用AJAX訪問文件?更好的方法是讓PHP腳本獲取文件並用AJAX調用PHP腳本。這樣,您就可以更好地控制發送給客戶端的內容和方式。 – user555