Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Axios/Node验证jsonwebtoken的POST方法出错_Javascript_Node.js_Axios_Web Development Server - Fatal编程技术网

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});
} });