var obj = { width:1680, height:1050 };
var data1 = $.param(obj); // json 타입의 객체(리터럴)을 쿼리스트링(urlencoding)으로 만들어준다.
console.log(data1) // 결과 : width=1680&height=1050
var data2 = $("form").serialize(); // form의 입력데이터를 쿼리스트링으로 만들어준다.
console.log(data2); // 결과 : a=1&b=2&c=3&d=4&e=5
var data3 = $('form').serializeArray(); // form의 입력데이터를 배열의 Object형태로 만들어준다.
console.log(data3); // 결과 [Object, Object, Object, Object, Object], [{name:'...', value:'...'}, {...}, ... }]
UTF8 을 고려하면,
$('form').serialize().replace(/%/g, '%25') 결국 이런 모습이 필요. 한글을 serialize() 한 다음 replace() 를 해 줘야 받는데서 UTF8 디코딩.
만약, 수신측이 urf8 이라면 serialize() 만으로도 충분하겠지만, 아니라면 encodeURIComponent() 가 동원되어야 함.
한글을 역시나 한도 끝도 없다는.. 애초에 웹사이트가 UTF-8 로 꾸며져 있다면 성가심이 덜하겠으나..
http://api.jquery.com/serialize/
serialize 를 뭐에다 쓸까 싶었는데..
개발자가 form 에 포함되는 개체들의 체크 여부를 확인하는데 사용하면 될 듯 하네요.
form 의 mehod 를 거의 post 로 사용하는 요즘에 serialize 사용처가 불분명했었는데..
개발하면서 지금 form 문에서 체크된 사항들을 확인하는데 괞찮은 체크 툴로 보이네요.
그리고, Ajax 로 파라미터를 보낼때도 쓸만 하겠구요.
URLEncoding도 해주는데.. UTF-8 로 해주는듯..
HTTPWatch 와 같은 툴은
A.jsp 가 B.jsp 로 넘어가면서 체크되는데 비해,
serialize 를 사용하면 A.jsp 에서 먼저 확인해 볼 수 있다는 것이죠.
주의사항은..
serialize 는 input 의 submit 은 무시, 아마 button 이나 image 타입도 무시될 듯 하구요.
input 이나 select 등의 컨트롤에 name 이 명시되지 않아도 무시,
값이 들어 있지 않거나 체크되지 않아도 무시된다는 군요.
'Local Oriented > jQuery' 카테고리의 다른 글
jQuery, News Tikcer (0) | 2011.11.06 |
---|---|
[모음글] jQuery 로 form validation 요소 제어, input/select/textarea (4) | 2011.11.03 |
jQuery 로 이미지 preLoading (1) | 2011.10.19 |
jQuery 플러그인 모음, 별점 (0) | 2011.10.19 |
jQuery Ajax, FAQ 를 웹에디터로 관리할때 아코디언 목록이 1건만 표시될 때의 처리 (방법론) (1) | 2011.10.08 |