用户注册成功后无法重定向至首页问题排查求助
问题原因及解决方案
1. 前后端返回字段不匹配
你后端接口注册成功后返回的JSON结构是res.status(201).json({user: user._id}),返回的字段是单数的user,但前端判断条件写的是if(data.users),多了一个s,这个条件永远不会成立,跳转逻辑自然不会执行。
2. 错误使用了跳转方法
前端fetch请求拿到的res是浏览器Fetch API返回的Response对象,不存在redirect方法,这个方法是服务端Node.js的Response对象的API,前端跳转只能用你注释掉的location.assign('/')或者直接赋值location.href = '/'。
修正后的前端代码参考
try { const res = await fetch("/signup", { method: "POST", body: JSON.stringify({email, password}), headers: {"Content-Type": "application/json"} }); const data = await res.json(); console.log(data); if(data.errors){ emailError.textContent = data.errors.email; passwordError.textContent = data.errors.password; }; // 修正字段判断 + 使用正确的前端跳转方法 if(data.user){ location.href = "/"; } } catch (err) { // 建议补充异常捕获逻辑,处理网络错误等场景 console.error('请求异常:', err) }
内容的提问来源于stack exchange,提问作者Vuyi
相关产品推荐
相关产品推荐

