驗證碼請求與緩存問題解決方案
1.問題描述
請求驗證碼圖片未變化,且未監聽到新請求的問題。
2.問題分析
這個問題的根本原因通常是瀏覽器緩存機制導致的 - 瀏覽器會緩存相同URL的圖片,導致第二次請求時直接從緩存讀取而不發送新請求。
3.解決方案思路
在每次請求驗證碼時在所請求的url中添加隨機參數(時間戳)避免緩存
請求的URL示例如下:
// 添加時間戳參數避免緩存
const timestamp = new Date().getTime();
//url格式如下,請求時拼接一個隨機數(get請求)
const uniqueUrl = `${captchaUrl}?t=${timestamp}`
這樣,瀏覽器會認為這是一個新的請求 ,從而繼續發送請求而不是讀取緩存。