jQuery에서 ajax() 함수의 기본 Content-Type은 "application/x-www-form-urlencoded"이므로 전송할 데이터는 query string 형식으로 작성해야 합니다. 쿼리스트링은 "key1=value&key2=value2&…"와 같은 포맷을 갖습니다.

1. form 요소 값들을 query string으로 만들기

$('#폼ID').serialize() 


2. javascript array 객체를 query string으로 만들기

jQuery.param(array객체)


만약 요청 Content-Type을 "application/json" 으로 변경한 경우에는 쿼리스트링이 아니라 json 형식의 스트링으로 데이터를 전송해야 합니다.
form엘리먼트 값들을 json 객체로 만들어주는 방법은 다음 사이트에 다양한 방법이 나와있습니다.

http://stackoverflow.com/questions/1184624/serialize-form-to-json-with-jquery

실제 ajax() 함수에서는 json 객체를 스트링 타입으로 바꿔서 대입합니다.
 

JSON.stringify(json객체)


그러나 쿼리스트링 형식이 가능한 상황에서 굳이 json 형식으로 데이터를 보내는 것은 별로 권장하지 않는 듯합니다.
Posted by 에코지오
TAG , ,

댓글을 달아 주세요



티스토리 툴바