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 , ,

댓글을 달아 주세요



티스토리 툴바