GET http:// localhost:3000 / api / auth / loggedin错误404(未找到)

时间:2020-08-31 18:05:09

标签: node.js reactjs express http-status-code-404

我知道这里有很多类似的问题,但是没有一个问题可以帮助我解决问题。我有一个不需要任何身份验证的主页,然后进行注册,登录和受保护的路由。主页上没有任何内容。

我的 index.js 看起来像这样:

axios.get("/api/auth/loggedin").then(response => {
  const user = response.data;

  console.log(response.data);

  ReactDOM.render(
    <BrowserRouter>
      <App user={user} />
    </BrowserRouter>,
    document.getElementById("root")
  );
}).catch(err => err);

App.js 示例代码:

<Route exact path="/" component={Home}/>
          <Route
            exact
            path="/signup"
            render={props => <Signup {...props} setUser={this.setUser} />}
          />

并且作为 routes / auth.js的一部分:

router.get("/loggedin", (req, res) => {
  res.json(req.user);
});

configs / passport.js

const User = require("../models/User");
const LocalStrategy = require("passport-local").Strategy;
const bcryptjs = require("bcryptjs"); // !!!
const passport = require("passport");

passport.serializeUser((loggedInUser, cb) => {
  cb(null, loggedInUser._id);
});

/services/auth.js

const signup = (username, password) => {
  return axios
    .post("/api/auth/signup", {
      username: username,
      password: password
    })
    .then(response => {
      return response.data;
    })
    .catch(err => {
      return err.response.data;
    });
};

与登录类似

我错过了什么吗?不知道要包括什么代码。似乎是服务器/端点问题,但我无法弄清楚api路由如何发挥作用。我不明白,如果您不必登录才能看到{Home},为什么会发生此错误。在此先感谢您的帮助。我已经花了好几天了。

0 个答案:

没有答案