[ Javascript ] Form.serialize를 json형식으로 변환하기
2020. 5. 28. 12:21ㆍ언어/JS
728x90
반응형
SMALL
jQuery.fn.serializeObject = function() {
var obj = null;
try {
if (this[0].tagName && this[0].tagName.toUpperCase() == "FORM") {
var arr = this.serializeArray();
if (arr) {
obj = {};
jQuery.each(arr, function() {
obj[this.name] = this.value;
});
}//if ( arr ) {
}
} catch (e) {
alert(e.message);
} finally {
}
return obj;
};
출처: https://cofs.tistory.com/184 [CofS]
이렇게 공통으로 쓰는 함수를 만들고
var data = {
"formData" :
$("#form").serializeObject()
};
var url = "/abcd/efg.do";
$.ajax({
type:"POST",
data:JSON.stringify(data),
dataType:"json",
url:url,
contentType:"application/json",
success:function(result){
}
});
이런 식으로 serializeObject 함수를 구현하여 호출하면 string 형식도 아니고 key 값이 중복되어도 상관이 없습니다.
key : value 형태의 object가 만들어지기 때문에
controller에서 @RequestParam Map<String, String> map 이렇게 파라미터를 선언해 주면
원하시는 대로 사용 가능합니다.
728x90
반응형
'언어 > JS' 카테고리의 다른 글
[ Javascript ] 웹페이지 상에서 백스페이스 키 눌림 방지 (0) | 2020.06.17 |
---|---|
[ Javascript ] Javascript에서 서버시간 가져오기 (0) | 2020.06.15 |
[ Javascript ] innerHtml 시 datepicker가 동작하지 않을 때 (0) | 2020.04.30 |
[ Javascript ] 함수에서 Boolean return 시 undefined일 때 (0) | 2020.04.28 |
검색 결과 무한 스크롤 (0) | 2020.01.07 |