-
02. ECMA6 로 해보기 ( Login ) [Node.js]NodeJS 2016. 11. 15. 17:17반응형
Login
formServer.js
const http = require('http');
const fs = require('fs');
const url = require('url');
const querystring = require('querystring');
const ejs = require('ejs');
const responseHeader = {
'Content-Type' : 'text/html'
}
const userId = 'admin';
const userPassword = '1234';
http.createServer( (request, response) => {
const path = url.parse(request.url).pathname;
if ( path == '/login') {
fs.readFile('view/login.ejs', 'UTF-8', (error, data) => {
response.writeHead(200, responseHeader);
response.end(ejs.render(data));
});
}
else if ( path == '/doLogin') {
from 에 method ="post"가 없을때
// GET 형식으로 Parameter를 받아 올 경우 사욜 할 수 있는 코드
const requestInfo = url.parse(request.url);
console.log(requestInfo);
const params = querystring.parse(requestInfo.query);
console.log(params);
console.log(params.userId);
console.log(params.userPassword);
from 에 method ="post"가 있을때
// POST 형식으로 전달된 Parameter를 받아올 경우 사용할 수 있는 코드
console.log(request.method);
if ( request.method == 'POST' ) {
request.on('data', (data) => {
console.log(data.toString(0));
const params = querystring.parse(data.toString());
console.log(params.userId);
console.log(params.userPassword);
/*
200 -> OK
302 -> Page Redirect 서버가 브라우저에게 명령하는 것
400 -> Request Fail
404 -> Page Not Found
403 -> Access Forbiden
500 -> Internel Server error
*/
if ( userId == params.userId &&
userPassword == params.userPassword ) {
response.writeHead(302, {'location' : 'http://www.naver.com'});
response.end('로그인 성공!');
}
else {
response.writeHead(302, {'location' : '/login'});
response.end('로그인 실패!');
}
});
}
console.log('로그인 함 ^_^//');
}
else {
response.writeHead(404, responseHeader);
response.end('페이지를 찾을 수 없습니다.');
}
}).listen(8000);
login.ejs
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Login</title>
</head>
<body>
<div id="container">
<form method="post" action="/doLogin" id="loginForm" >
<input type="text" id="userId" name='userId' />
<input type="password" id="userPassword" name='userPassword' />
<input type="submit" value="로그인" />
</form>
</div>
</body>
</html>
반응형'NodeJS' 카테고리의 다른 글
04. ECMA6 로 해보기 ( 방만들어 채팅 ) [Node.js] (0) 2016.11.25 03. ECMA6 로 해보기 ( chatServer (기본채팅) ) [Node.js] (0) 2016.11.15 01. ECMA6 로 해보기 ( Server, File-System, ejs ) [Node.js] (0) 2016.11.15