Javascript 使用Axios/Node验证jsonwebtoken的POST方法出错
我正在测试我的登录和注册功能。当我试图注册或登录一个用户时,我收到一个错误,说Javascript 使用Axios/Node验证jsonwebtoken的POST方法出错,javascript,node.js,axios,web-development-server,Javascript,Node.js,Axios,Web Development Server,我正在测试我的登录和注册功能。当我试图注册或登录一个用户时,我收到一个错误,说无法发布/tokenIsValid,状态代码404未找到,但我仍在接收数据库中的登录/注册数据。我已尝试将URL路径更改为相对/tokenIsValid而不是http://localhost:3000/tokenIsValid但我仍然遇到同样的错误。社区里有人有什么建议吗?我在下面留下了一些代码 App.js export default function App(){ const [userData, setUs
无法发布/tokenIsValid
,状态代码404未找到,但我仍在接收数据库中的登录/注册数据。我已尝试将URL路径更改为相对/tokenIsValid
而不是http://localhost:3000/tokenIsValid
但我仍然遇到同样的错误。社区里有人有什么建议吗?我在下面留下了一些代码
App.js
export default function App(){
const [userData, setUserData] = useState({
token: undefined, /*stores user json web token data*/
user: undefined /*stores all user data*/
});
useEffect(() => {
const checkLoggedIn = async () => {
let token = localStorage.getItem("auth-token");
if (token === null) {
localStorage.setItem("auth-token", "");
token = "";
}
const tokenRes = await Axios.post(
"/tokenIsValid",
null,
{ headers: { "x-auth-token": token } }
);
if (tokenRes.data) { //if user is successfully logged in; tokenRes.data returns true
const userRes = await Axios.get("/users", {
headers: {"x-auth-token": token},
});
setUserData({
token,
user: userRes.data,
});
}
};
Regsiter.js
//单击“注册”按钮时的函数
const submit=async(e)=>{
e、 预防默认值();
const newUser={电子邮件、密码、密码检查、显示名};
等待Axios.post(“/register”,newUser);
const loginResponse=wait Axios.post(“/login”,{email,password});
setUserData({
令牌:loginResponse.data.token,
用户:loginResponse.data.user
});
setItem(“auth token”,loginResponse.data.token);
history.push(“/”;//用户登录后,将其发送回主页
};
/tokenIsValid的Post方法
router.post(“/tokenIsValid”),异步(req,res)=>{
试一试{
const-token=req.header(“x-auth-token”);
如果(!token)返回res.json(false);//如果不存在令牌,则返回false
const verified=jwt.verify(令牌、进程环境jwt_SECRET);
如果(!verified)返回res.json(false);//如果未验证令牌,则返回false
const user=wait user.findById(verified.id);
如果(!user)返回res.json(false);//如果MongoDB中不存在用户,则返回false
返回res.json(true);
}捕捉(错误){
log('验证令牌时出错');
json({error:err.message});
} });