05-02 06:32
Notice
Recent Posts
Recent Comments
관리 메뉴

Scientific Computing & Data Science

[WebApp / Express] HTTP GET 방식을 통한 Form 데이터 전송 본문

Programming/Web App

[WebApp / Express] HTTP GET 방식을 통한 Form 데이터 전송

cinema4dr12 2015. 12. 3. 22:52

이번 글에서는 Express Web App에서 GET 방식을 통하여  form의 데이터를 전송하는 방법에 대하여 알아본다.

데이터를 전송하는 HTTP 방식은 주로 GET과 POST가 사용되는데 이 방법에 대하여 비교하면 다음과 같다:


 GET

 POST

 Form 데이터가 쿼리 문자열로 전송된다. 즉, 브라우저의 주소창에 쿼리  데이터가 노출된다.

 Form 데이터가 HTTP body로 전송된다. 따라서, 브라우저의 주소창에  서 쿼리가 보이지 않는다.

 전송가능한 데이터가 제한적이다.

 이론적으로 전송가능한 데이터에 제한이 없다.

 파일 업로드에 사용될 수 없다.

 파일 업로드에 사용 가능하다.

 추가 로직없이는 form을 다루는데 있어 동일한 URL을 사용할 수 없다.

 post() 메써드를 이용하여 별도의 route를 정의함으로써 form을 다  루는데 있어 동일한 URL을 사용할 수 있다.



HTML 정의


EJS 템플릿 엔진을 사용하여 다음과 같이 HTML에 form을 정의한다.

[{EXPRESS_APP_ROOT}/views/submit.ejs]



JavaScript 정의


JavaScript 파일을 다음과 같이 정의한다.

[{EXPRESS_APP_ROOT}/routes/submit.js]


app.js에 다음 코드를 추가한다.

[{EXPRESS_APP_ROOT}/app.js]




Result


NodeJS server를 실행하면 다음과 같은 화면을 볼 수 있다.


Name 창에 아무 문자열을 입력하고 [Search] 버튼을 클릭하거나 엔터를 입력하면 아래 이미지와 같이 주소창에 쿼리가 노출된 것을 확인할 수 있다.

한편 Terminal에서도 다음과 같은 로그를 확인할 수 있다.

Comments