선생님, 질문있습니다. 로그인 한 다음에 쿠키는 저장이 되는데
"/" 로 이동하지 않고 계속 뱅글뱅글 로딩중으로 뜹니다. 이유를 모르겠습니다.
server.js
app.get("/login", async (요청, 응답) => {
응답.render("login.ejs");
});
app.post("/login", async (요청, 응답, next) => {
//유저가 보낸 아이디, 비번을 DB와 비교하는 코드가 실행된다.
//error, 성공, 실패시 이유 순
passport.authenticate("local", (error, user, info) => {
if (error) return 응답.status(500).json(error);
if (!user) return 응답.status(401).json(info.message);
요청.logIn(user, (err) => {
if (err) {
console.log("Login Error: ", err);
return next(err);
}
console.log("Login Success: ", user);
//로그인이 완료됐을대 메인 페이지로!
응답.redirect("/");
});
})(요청, 응답, next);
});
function checkLogin(요청, 응답, next) {
console.log("checklogin", 요청.user);
if (!요청.user) {
응답.send("로그인하세요");
}
next();
}
app.get("/", checkLogin, (요청, 응답) => {
응답.sendFile(__dirname + "/index.html");
});
login.ejs
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<link href="/main.css" rel="stylesheet" />
</head>
<body class="grey-bg">
<%- include('nav.ejs') %>
<form class="form-box" action="/login" method="POST">
<h4>로그인</h4>
<!-- passport 라이브러리 쓰면 name속성 맞춰야함 -->
<input name="username" autocomplete="off" />
<input name="password" type="password" autocomplete="off" />
<button type="submit">전송</button>
</form>
</body>
</html>
이렇게 가장 왼쪽 상단처럼 로딩중이라는표시만 뜹니다.
-
이 게시글은
곽종범에 의해 10 월, 1 주 전에 수정됐습니다.
-
이 게시글은
곽종범에 의해 10 월, 1 주 전에 수정됐습니다.