Vue3做登录图片验证码总结

最近正在做登录图片验证码功能,里面涉及到一些没用过的知识点,就浅浅记录一下。下图是我做好的效果。

img中src直接调接口获取后端图片

思路

使用img的时候,src属性一般都是写一个图片的url地址,如xxx.jpg,但其实img的src属性本身是可以发起get请求,只需要把请求地址给到src,后端接收到请求后,返回给我们一张图片。

实现

ini 复制代码
let url = "xxx" // url为请求地址
<img :src="url" alt="验证码图片" />

点击图片刷新出新图片

思路

我一开始的思路是,添加点击事件,点击的时候将之前的请求地址再赋值给src,结果没有再次请求。因为请求地址没有发生变化,存在缓存。解决方法:在src的图片路径后面指定一个随机数参数就可以了,这样你每次去请求时,浏览器认为你每次是访问了不同的图片路径,从而每次都会重新访问服务器读取图片,而不再读取缓存中的图片。虽然该随机数没有什么实际含义,但对浏览器而言,请求地址是不一样的。

实现

xml 复制代码
<template>
  <div @click="refreshImg">  
    <img :src="requestUrl" alt="验证码图片" />  
  </div>
</template>

<script setup lang="ts">
// 请求地址
const requestUrl = ref("xxx")
const refreshImg = () => {
  requestUrl.value = "xxx?" + Math.random()
}
</script>
相关推荐
Setsuna_F_Seiei1 小时前
前端转型 Agent 开发 06 之 Agent Memory 记忆系统(让 Agent 更智能,更懂你)
前端·agent·ai编程
志尊宝2 小时前
Vue3 零基础每日笔记(073):keep-alive 页面缓存实战——列表页返回不丢状态
vue.js·笔记·缓存·#vue #前端 #前端开发·#javascript·#vue.js
zhangzeyuaaa2 小时前
Ruby 多线程、GVL(GIL)与 Mutex 完全指南
开发语言·前端·ruby
默_笙3 小时前
🌊 向量库和 ES 都查不出"关系",我只好给奶茶建了一张人脉网
前端·javascript
优选资讯3 小时前
标签打印软件怎么对接 Excel 数据
前端·excel
一个风轻云淡4 小时前
GCC 和 GDB命令简单解读
java·linux·前端
u0111026755 小时前
图片处理接口如何统一错误信息 前端提示与后端错误码设计
前端·状态模式
福兮说5 小时前
浏览器里把 iPhone 的 HEIC 转成 JPG:Chrome 解不开、转完大了七成、拍摄时间全丢,六个坑实测
前端·javascript·图像处理·chrome·ios·iphone·heic
libokaifa5 小时前
把语音模型塞进手机:sherpa-onnx 在 Android 上的 ASR / TTS
前端
deli0075 小时前
DLA 枝晶生长实测:5000 个粒子集体停摆之后,分形维数收敛到 1.70
前端