前两天做个刷新二维码的东西,发现url用的是缓存数据,即使url调用的二维码图片内容已经变化,但是vue这边还是用的缓存,必须手动刷新,用下面的方法解决: |
data() {
return {
qrcode_url:"/api/qr_code", //我的页面使用这个地址变量
}
},
methods: {
refresh_qr_code() {
api.smsRefresh().then(res => { //点击刷新按钮调用这个接口,后端做了一些数据的处理
setTimeout(function(){
var num = Math.ceil(Math.random()*100) // new一个随机数字
this.qrcode_url = '/api/qr_code?key=' + num // 在原来的url里面通过url参数的形式加上这个数字
document.getElementById('qrCode').src=this.qrcode_url // 把二维码的那个标签的src重新设置,如果url完全一样会使用缓存
},500)
})
}
}
如果url完全一样会使用缓存 这就是为啥我局部刷新了,为啥前端还是旧的二维码的 原因