AJAX检测用户名是否存在的方法
用户注册中,输入框失焦后通过AJAX异步GET请求,后端Node.js+Express模拟数据库比对,即时返回用户名占用状态。此过程无需刷新页面,实现无感校验,有效避免重复提交,提升注册体验。
来看一个实际开发中常见的场景:用户注册时,输入用户名后,页面能实时提示该用户名是否已被占用。这种体验背后,靠的就是AJAX异步请求。下面用具体的代码走一遍完整的实现流程。

前端页面很简单,一个注册表单,用户名输入框绑定了失去焦点事件(onblur)。当用户输入完用户名,光标移开时,触发AJAX请求,把输入的值传给后端做校验。
先看HTML部分(index):
Title 用户注册
前端逻辑很清晰:创建XMLHttpRequest对象,用GET方式把用户名拼到URL参数里,发送请求,然后监听状态变化。当readyState为4且status为200时,将服务器返回的文本直接显示在页面的提示区域()中。
再看后端,用Node.js + Express搭建,模拟从数据库查用户列表:
let express = require("express");
let bodyParser = require("body-parser");
let app = express();
// 给ejs模板引擎设置别名,别名叫html
app.engine("html",require("ejs").__express);
app.set("view engine","html");
// 指定模板的存放位置
app.set("views","./views")
// 配置bodyParser
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({extended:false}))
// 路由
app.get("/",(req,res)=>{
res.render("reg01"); // 渲染模块
})
// 处理注册
app.post("/doreg",(req,res)=>{
// 获取客户端传递的数据
let username = req.body.username.trim();
let pwd = req.body.pwd.trim();
let repwd = req.body.repwd.trim();
// 模拟从数据库中获取的用户信息
let users = ["wangcai","xiaoqiang","admin"];
if(users.find(user=>user===username)){
res.send("对不起,该用户名已经被注册了,请换个用户名~返回注册页
")
}else{
res.send("恭喜你,该用户名可以使用~返回注册页
")
}
})
app.listen(3000,()=>{
console.log("server is running on 3000~")
})
后端代码中,/check路由并没有直接写出来,但从前端请求的URL可以看出,实际应该有一个GET /check接口来处理用户名校验。这里为了演示,把校验逻辑放到了注册处理路由里,但核心思路是一样的:从请求中拿到用户名,跟预设的数组(模拟数据库)比对,返回相应的提示信息。
整个流程跑通后,用户在输入框失去焦点时,就能看到“对不起,该用户名已经被注册了”或“恭喜你,该用户名可以使用”的实时反馈,无需刷新页面。这就是AJAX在实际项目中最典型的应用之一。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
一款文字处理软件,一种订阅式的跨平台办公软件,基于云平台提供多种服务,通过将 Excel 和 Outlook 等应用与 OneDrive 和 Microsoft Teams 等强大的云服务相结合,Office 365 可让任何人使用任何设备随时随地创建和共享内容。
CodeExpander 是一款快捷短语输入增强工具,通过键入缩写自动展开为自定义文段,提升工作效率。任务管理和过程控制会更完整,持续下载、批量同步或需要稳定传输流程的场景会更适合它。
Mountain Duck 是一款能将多个网盘挂载到本地的工具,像本地磁盘一样使用网盘。清理链路的完整性会更好一些,做应用卸载、残留处理和空间整理时,通常能少走很多手动排查步骤。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
一款文字处理软件,一种订阅式的跨平台办公软件,基于云平台提供多种服务,通过将 Excel 和 Outlook 等应用与 OneDrive 和 Microsoft Teams 等强大的云服务相结合,Office 365 可让任何人使用任何设备随时随地创建和共享内容。
Wise Folder Hider Pro 是一款专业级文件和文件夹隐藏加密软件,为私密数据添加多重保护。高频操作更强调就近处理,浏览、整理和跨目录移动文件时,来回切换和重复点击都会少很多。
CodeExpander 是一款快捷短语输入增强工具,通过键入缩写自动展开为自定义文段,提升工作效率。任务管理和过程控制会更完整,持续下载、批量同步或需要稳定传输流程的场景会更适合它。


























