验证码请求与缓存问题解决方案
验证码请求与缓存问题解决方案
1.问题描述
请求验证码图片未变化,且未监听到新请求的问题。
2.问题分析
这个问题的根本原因通常是浏览器缓存机制导致的 - 浏览器会缓存相同URL的图片,导致第二次请求时直接从缓存读取而不发送新请求。
3.解决方案思路
在每次请求验证码时在所请求的url中添加随机参数(时间戳)避免缓存
请求的URL示例如下:
// 添加时间戳参数避免缓存
const timestamp = new Date().getTime();
//url格式如下,请求时拼接一个随机数(get请求)
const uniqueUrl = `${captchaUrl}?t=${timestamp}`
这样,浏览器会认为这是一个新的请求 ,从而继续发送请求而不是读取缓存。