본문 바로가기
JavaScript, jQuery, Java

ajax로 String 배열 data 넘기기

by 보리하늘 2017. 12. 20.
728x90
반응형

* ajax 의 data 값에 배열(Array)을 넘기기 위해서는 세팅값을 바꿔주어야 한다.




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
var addList = [], data = {};
 
if($("#addList_column li").length != 0){
    for(var i=0; i<$("#addList_column li").length; i++)
        addList[i] = $("#addList_column li a").eq(i).attr('name');
        
    data.addList = addList;
}else data.addList = "";
        
 
jQuery.ajaxSettings.traditional = true;
        
$.ajax({
    type: 'get',
    dataType: 'xml',
    data: data,
    url: '/register/registerSaveUserList.do',
    success: function(xml) {
        if($(xml).find("code").find("item").length > 0) {
            $(xml).find("code").find("item").each(function() {
                var code_name = $(this).find("code_name").text();
                var code_id = $(this).find("code_id").text();
                            
                $("#make_lst").append("<li><a href='#' class='no' id='"+code_id+"'>"+code_name+"</a></li>");
            });  
        }
    },
    error: function(xhr, status, error) {
        alert(status);
        alert(error);
    }
});
cs






보낸 데이터를 컨트롤러(서버단)에서 String[] 또는 ArrayList 로 받으면 된다.



1
2
3
4
5
6
7
8
9
@RequestMapping(value="/register/registerSaveUserList.do")
public void registerSaveUserList(ModelMap model, HttpServletRequest request, 
HttpServletResponse response, HttpSession session) throws Exception {
        
    String[] param = request.getParameterValues("addFind");
    String[] param2 = request.getParameterValues("addList");
 
    for(int i=0; i<param.length; i++) System.out.println("■■■■■■■■■■■addFind:::"+param[i]);
}
cs



***  jQuery.ajaxSettings.traditional = true;  세팅을 안해줄 경우에는

Java 에서 ​ String[] param = request.getParameterValues("addFind[]"); 로 처리하면 된다. 


728x90
반응형

댓글