본문으로 바로가기

Client 요청에 Response(응답)을 2개 보내는 방법

 

 



기본적으로 한번의 Request(요청)에 한번의 (Response)응답을 할 수 있다.


하지만 다음과 같이 2개의 Response가 필요한 경우, 응답을 2개 보내게 되면 서버측에서 에러가 발생한다.


당연히 request 한번에 response는 한번만 응답할 수 있으므로에러가 발생한 것이다.






 

1번째 방법. 리다이렉트(redirect)를 이용해 다른페이지에서 수행시키자



리다이렉트를 사용해서 하나의 페이지를 더 만들고


그 리다이렉트 된 페이지에서 수행해야 할 일을 하는 것이다.

  

 


 

그러나 이러한 방법을 사용하면 다시 전 페이지로 돌아가기 위한


버튼 하나를 생성 해야되며, 이 외에도 같은 일을 반복하게 되면


index.js에 많은 응답 페이지를 작성해야 하는 단점이 있다.


그래서 다음의 방법이 고안되었다.

 

 

2번째 방법. 값을 보내(render) 이벤트 수행하기


 

서버에서 read라는 ejs페이지로 boolean값을 보내주고,


그 보내준 값을 검사해 ejs페이지에서 특정 이벤트를 수행하는 것이다.





이렇게 pass라는 변수에 true라는 boolean값을 전달한다.

다음과 같이 ejs페이지에서 조건문을 사용하여


예시로 pass라는 변수가 false 이면 alert 경고문을 띄우도록 하였다.




 

이러한 방법을 사용해 게시판에서 비밀번호를 검사하여

 

게시물을 삭제하거나 수정하는데 사용할 수 있고,

 

회원가입 페이지를 만들어 로그인 할 때 유용하게 사용할 수 있다.


댓글을 달아 주세요