问题:今天在写登录模块调用图形验证码时,发现图形验证码接口返回的是一张图(即文件流),纠结怎么使用。
解决:将返回结果直接与标签的src属性绑定就行。
在此基础上发现,调用接口的后面要跟一个随机数。这是为什么呢?
解决:参考链接
自己的理解:get请求时,会缓存请求。当下一次请求的地址和请求参数不变时,浏览器会使用缓存,而不触发请求。所以要在地址后面加一个动态改变的内容,每点击一次,就请求一次。
// HTML代码
<el-image class="new-el-image" :src="imgCode" fit="fit" @click="getImgCode"></el-image>
// JS代码
getImgCode() {
this.imgCode = `${process.env.BASE_API}/user/imgVerify?$**{Math.random()}**`
}
问题拓展:
- 为什么get请求时会缓存呢?get的缓存机制(例如会缓存所有请求吗?因为我写了两个请求,发现被缓存了。
- 除了随机数还能使用其他的什么呢?
答案:可以参照链接给的办法。目前只验证了第一种方法(亲测有效)
this.imgCode = `${process.env.BASE_API}/user/imgVerify?${new Date().getTime()}`