問題描述:
原本系統好好的登錄頁面,我加了一個點擊彈出二維碼的代碼,導致登錄不上。排查原因:系統有個session驗證,就是頁面請求的sessionid必須要跟後臺獲取的sessionid相同才允許把請求發到後臺,後來發現我前端頁面加了個<img src="" />,導致sessionid不一致,不允許登錄。
問題分析:
在img 對象的src 屬性是空字符串("")的時候,瀏覽器認爲這是一個缺省值,值的內容爲當前網頁的路徑。瀏覽器會用當前路徑進行再一次載入,並把其內容作爲圖像的二進制內 容並試圖顯示。所以,登錄的時候,頁面有兩次請求,導致了sessionId前後臺不一致。
上面說的現象不同的瀏覽器結果不一樣,在chome裏面就是正常的。
代碼 | Firefox | IE8 | 谷歌 |
<img src="" /> | 會重複載入 | 會重複載入 | 正常 |
<img src /> | 會重複載入 | 正常 | 正常 |
<img /> | 正常 | 正常 | 正常 |
所以如果後來動態添加src,可以直接寫img標籤而不要加src