본문 바로가기
개발/기타

[Json] 배열형태의값을 서버로 전달 (Jquery by Spring)

by 아크투어 2023. 7. 18.
반응형

json 배열값 전달
json 개념

Json형태의 배열을 서버로 전달

 

1. Json이란

  • JSON은 JavaScript Object Notation의 약자로, 데이터 교환을 위한 경량의 데이터 형식입니다.
  •  비동기 브라우저/서버 통신 (AJAX)을 위해, 넓게는 XML(AJAX가 사용)을 대체하는 주요 데이터 포맷이다.

 

2. Json 자료형

  • 수(Number)
  • 문자열(String)
  • 참/거짓(Boolean): true 또는 false 값
  • 배열(Array)
  • 객체(Object)

3. Json배열을 서버로 전달

  • 게시판 다수의 글을 삭제하는 예제부
  • jquery 프론트부분 처리
//스크립트 부분
var seqArr = ["A001", "A001", "A003"];
var seq = paramArr.join(",");

$.ajax({
    type   : 'POST'
    ,url   : "/bbs/delete"
    ,data  : JSON.stringify({seq:seq})
    ,async : false
    ,contentType : "application/json"
    ,dataType    : "json"
    ,success:function(data, textStatus){
        if(data.result == "SUCCESS"){
            alert("삭제완료");
        }else{
            alert("삭제실패");
        }
     },error:function(r,s,e){
          console.log(e);
     }
});

 

  • Spring 서비스 부분 처
//컨트롤러부분
@RequestMapping(value="/bbs/delete", method = RequestMethod.POST)
@ResponseBody
public Map<String, Object> deleteBbs(@RequestParam Map<String, Object> deleteMap , 
    HttpServletRequest request, HttpServletResponse response ) throws Exception{
			
    Map<String, Object> resultMap = new HashMap<String, Object>();
		
    try {
        resultMap = bbsService.deleteBbs(deleteMap);			
    } catch (Exception e) {
         throw e;
    }
    return resultMap;
}


//서비스부분
@Override
public Map<String, Object> deleteBbs(Map<String, Object> deleteMap) throws Exception {
    int saveResult = 0;
    Map<String, Object> map = null;
    Map<String, Object> result = new HashMap<String, Object>();
		
    try {
        String[] seqList = deleteMap.get("seq").toString().split(",");
			
         if(seqList.length > 0){
             for(int i=0; i<seqList.length; i++){
                 map = new HashMap<String,Object>();
                 map.put("seq", seqList[i].toString());
                 saveResult = bbsDao.deleteBbs(map);
             }
        }
        result.put("response", (saveResult > 0) ? "SUCCESS" : "FAIL");
    } catch (Exception e) {
        throw e;
    }
    return result;
}
반응형