簡體   English   中英

JavaScript刷新后圖像被截斷

[英]Images cut off after javascript refresh

我有一個網頁,需要一些用戶輸入,並使用它通過通過PHP運行Shell腳本來更新圖像。 然后,該圖像顯示給用戶,而無需刷新他們所在的頁面(使用ajax請求)。 一般要點是:

  1. 用戶在網頁上進行選擇
  2. 網頁將ajax請求發送到服務器
  3. PHP(laravel)捕獲ajax請求並運行Shell腳本以更新映像
  4. PHP返回ajax響應,並說圖像是否已更新
  5. 如果圖像已更新,則javascript使用以下代碼為用戶刷新圖像: $("#back_thumbdiv_med").find("> img").attr("src", url + "?" + new Date().getTime());

問題是圖像無法正確加載。 這是已加載圖像的示例。

剪裁圖像

有趣的是,要顯示的圖像部分實際上是舊圖像的一部分,而不是新圖像。 是什么原因造成的? 我該如何解決? 這可能與我的網站通過流浪漢在VM上運行有關嗎?

同樣,如果用戶從頁面上移開並返回,圖像顯然會返回到舊版本,因為它已被緩存。 我希望圖像被緩存,但是能夠在ajax請求返回后強制刷新。 什么

這個問題恰好與在Vagrant(在virtualbox中)下運行我的Apache服務器有關。

要解決此問題,我只需要在我的apache配置文件( /etc/httpd/conf/httpd.conf或等效文件)中添加以下幾行:

#Disable image serving for network mounted drive
EnableSendfile off

請注意,值得在配置文件中進行搜索以查看EnableSendfile是否設置為on其他任何位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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