Express服务/users接口GET请求返回404错误问题求助
问题排查及修复方案
核心错误(直接导致404)
Express 框架要求路由路径必须以/作为前缀,你当前服务端的路由定义为app.get('users', ...),缺少前缀/,无法匹配客户端请求的/users路径,所以返回404。
修复方式:把路由定义改为
app.get('/users', (req, res) => { // 原有逻辑 })
其他需要修复的连带问题
- 服务端缺少
createServer导入:需要先从http模块导入该方法,否则服务启动直接报错const { createServer } = require('http') const express = require('express') const app = express() const server = createServer(app).listen(3000) - 服务端
users变量未定义:你循环遍历的users数组没有提前定义,需要先初始化用户数据,示例:// 自行根据实际业务替换用户数据 const users = [{name: '张三'}, {name: '李四'}] app.get('/users', (req, res) => { const usersName = [] for(const user of users) { usersName.push(user.name) } res.json({ usersName }) }) - 客户端fetch未解析响应:fetch返回的是Response对象,需要先调用
.json()方法获取响应体数据:const res = await fetch('http://localhost:3000/users') const data = await res.json() // 新增这行解析响应 for(const name of data.usersName) { // 原有DOM操作逻辑 } - 客户端变量名错误:创建的DOM节点变量名为
userDiv,append的时候误写为div,修改为page.append(userDiv) - 客户端代码末尾多了一个冗余的
</script>标签,直接删除即可。
内容的提问来源于stack exchange,提问作者YassBan
相关产品推荐
相关产品推荐

