초보 개발자 node.js 질문...
조회수 378 답변수 0 반응수 0 등록일 2018.05.19 16:45:03

안녕하세요 이제막 자바스크립트와 노드js를 건드리기 시작한 대학생입니다.

제가 웹페이지를 혼자 실습삼아서 만들어 보려고 하고있는데, 로그인 페이지 부분에서 이상한 에러가 떠서 질문 드립니다.

코드는

 app.get('/login', function(req,res) {

res.render('login');
});
app.post('/login', function(req, res) {
 let user_id = req.body.user_id;
 let password = req.body.password;
 let sql = 'SELECT user_id, password FROM user';
 conn.query(sql, function(err, result) {
 if(err) {
 console.log(err);
 } else {
 for(let i=0; i<result.length; i++) {
 if(user_id === result[i].user_id && password === result[i].password) {
 res.redirect('/topic')
 break;
 } else {
 res.redirect('/login')
 }
 }
 }
 });
});
코드는 이런식으로 되어있는데요, mysql에있는데로 아이디랑 비밀번호를 치면
정상적으로 localhost:3000/topic으로 넘어가 지는데, 틀린(mysql에 없는) 값을 입력하면
C:\Users\cics16_043\dev\js\server_side_javascript\node_modules\mysql\lib\protocol\Parser.js:80
        throw err; // Rethrow non-MySQL errors
        ^

Error: Can't set headers after they are sent.
    at validateHeader (_http_outgoing.js:491:11)
    at ServerResponse.setHeader (_http_outgoing.js:498:3)
    at ServerResponse.header (C:\Users\cics16_043\dev\js\server_side_javascript\node_modules\express\lib\response.js:767:10)
    at ServerResponse.location (C:\Users\cics16_043\dev\js\server_side_javascript\node_modules\express\lib\response.js:884:15)
    at ServerResponse.redirect (C:\Users\cics16_043\dev\js\server_side_javascript\node_modules\express\lib\response.js:922:18)
    at Query._callback (C:\Users\cics16_043\dev\js\server_side_javascript\app_mysql.js:33:24)
    at Query.Sequence.end (C:\Users\cics16_043\dev\js\server_side_javascript\node_modules\mysql\lib\protocol\sequences\Sequence.js:88:24)
    at Query._handleFinalResultPacket (C:\Users\cics16_043\dev\js\server_side_javascript\node_modules\mysql\lib\protocol\sequences\Query.js:139:8)
    at Query.EofPacket (C:\Users\cics16_043\dev\js\server_side_javascript\node_modules\mysql\lib\protocol\sequences\Query.js:123:8)
    at Protocol._parsePacket (C:\Users\cics16_043\dev\js\server_side_javascript\node_modules\mysql\lib\protocol\Protocol.js:279:23)
이런 에러가 뜨면서 서버가 꺼집니다.
왜 오류가 뜨는지도 모르겠고 서버가 왜꺼지는 지도 모르겠습니다. 형님들 도와주세요

답변 작성

질문에 적합한 답변을 상세히 작성해 주시기 바랍니다.

답변이 찬성되면 태그평판 +2점이 적립, 반대되면 태그평판 -1점 차감됩니다.

답변이 채택되면 태그평판 +10점이 적립됩니다.