반응형
Object는 ajax 로 보낼때 형태를 변환해주어야 한다.
*** 데이터를 직렬화 시키기 : JSON.stringify("Object 배열 변수명")
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | var data = {}, A= [], B= []; for(var i=0; i<$('#frm [name = A]').length; i++){ A.push( $('#frm [name = A]').eq(i).val() ); B.push( $('#frm [name = B]').eq(i).val() ); } data = { REP_YMD : $('#frm').find('#REP_YMD').val().replace(/-/gi, ''), REP_CDE : $('#frm').find('#REP_CDE').val(), SBJ_CDE : $('#frm').find('#SBJ_CDE').val(), REP_DES : $('#frm').find('#REP_DES').val(), OPR_NAM : $('#frm').find('#OPR_NAM').val() }; var jsonData = JSON.stringify(data); jQuery.ajaxSettings.traditional = true; $.ajax({ type: 'get', dataType: 'json', data: {"jsonData" : jsonData, A : A, B : B}, url: '/water/WTT_WUTL_HTProcWrite.do', success: function(json) { alert(json.resultMsg); BOOK.fn_close_window(frm.openerId.value); BOOK.fn_search_addInfoGrid("gridWutl"); }, error: function(error) { alert(error.errorMsg); } }); } | cs |
*** 데이터를 넘길때
{"jsonData" : jsonData, A : A, B : B} 와 같이 여러 데이터도 넘길 수 있다.
*** Java 에서 다음과 같이 받으면 된다.
직렬화된 "jsonData" 를 String 형태로 받아 이것을 JSONObject 형태로 변환시켜준다.
사용 목적에 따라 이것을 다시 Map 형식으로 변환 할 수도 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | import org.json.simple.JSONValue; import net.sf.json.JSONArray; import net.sf.json.JSONObject; String jsonStr = request.getParameter("jsonData"); JSONObject jsonObject = JSONObject.fromObject(jsonStr); Map<String, Object> result = (Map<String, Object>)JSONObject.toBean(jsonObject, java.util.HashMap.class); String[] A = request.getParameterValues("A"), B = request.getParameterValues("B"); String action_flag = (String)result.get("action_flag"); | cs |
일반 문자열 배열이었던 A 와 B 는 request.getParameterValues() 로 받아 사용한다.
jsonObject 와 result 에 담긴 key 값들은 "keySet()" 함수를 통해 배열로 받을 수 있다.
* jsonObject.keySet()
* result.keySet()
728x90
반응형
'JavaScript, jQuery, Java' 카테고리의 다른 글
input 박스에 숫자만 입력하기 - 함수 생성 (0) | 2017.12.28 |
---|---|
이클립스 톰캣 이미지 업로드 후 경로/새로고침 엑박 (0) | 2017.12.21 |
Object 배열 추가/합치기 (0) | 2017.12.21 |
[JavaScript] replace, replaceAll 사용하기 (1) | 2017.12.21 |
jQuery selectbox 정렬 (0) | 2017.12.21 |
댓글