
151
8
장
폼 처리
TIP
이 예제에서는 에이잭스 요청이 모두
JSON
응답을 기대한다고 가정하지만, 에이잭스에서 반드시
JSON
을
사용해야 한다는 규칙은 없습니다(사실 에이잭스의
X
는
XML
을 뜻합니다). 자바스크립트가
JSON
을 처리하
기 쉽게 만들었으므로 자바스크립트에 밀접한 방법을 택했을 뿐입니다. 에이잭스 엔드포인트를 범용으로 만
들어야 하거나 에이잭스 요청이
JSON
이 아닌 다른 것을 사용할 수도 있다면, 보조 메서드
req
.
accepts
에
서
Accepts
헤더를 살펴보고 그에 맞는 응답을 반환해야 합니다.
Accepts
헤더가 유일한 판단 기준이라면
클라이언트가 기대하는 것에 맞게 반응하기 쉽도록 만들어진 편의 메서드
res
.
format
을 알아보세요.
5
이 방
법을 택한다면 자바스크립트로 에이잭스 요청을 만들 때
dataType
이나
accepts
프로퍼티를 사용해야 합
니다.
8.7
파일 업로드
6
파일 업로드가 복잡하다고 얘기했지만, 다행히 도움이 되는 패키지가 있습니다.
멀티파트 폼 처리에 주로 쓰이는 패키지는 버스보이
busboy
, 멀티파티
multiparty
, 포미더블
formidable
,
멀터
multer
네 가지가 있습니다. 필자는 네 가지를 모두 사용해봤고 모두 좋은 패키지이지만, 필
자가 보기에 유지 관리가 가장 잘 되고 있는