Skip to content

Instantly share code, notes, and snippets.

@snacky101
Last active August 8, 2018 08:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save snacky101/99e51b45f870d15a811c9e075b884c3c to your computer and use it in GitHub Desktop.
Save snacky101/99e51b45f870d15a811c9e075b884c3c to your computer and use it in GitHub Desktop.
session save code
...
$('#enter').on('click', function() {
// ajax 등을 이용해 세션에 저장할 내용 전달
$.ajax({
url:'/login',
// 세션에 저장하고자 하는 data를 post 로 보냄
data: {
userName: document.querySelector("#username").value,
roomName: document.querySelector("#roomname").value
},
success: (data) => console.log("success", data)
});
});
...
...
// 화면 로드시에 session 데이터 조회
$(document).ready(function() {
$.ajax({
url:'/getSession',
// 별도로 조건 없이 session에 존재하는 데이터를 조회
success: (data) => {
console.log("success", data);
// data에 session 정보로부터 리턴받은 값 저장
}
});
}
...
...
app.post('/login', function(req, res){
// 세션에 데이터를 저장한다.
req.session.data = {
userName: req.body.userName,
roomName: req.body.roomName
}
// 데이터를 보낼 페이지로 리로드 한다.
res.redirect('/room');
});
...
app.post('/room', (req, res) => {
console.log(req.session.data.userName);
res.sendFile(path.join(__dirname, 'views', 'room.html'));
});
...
// 화면단에서 session 정보가 필요할 경우 session 에 저장된 data 객체를 리턴
app.get('/getSession', (req, res) => {
res.send(req.session.data);
});
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment