728x90
반응형
Ajax를 이용하면 웹 어플리케이션과 비동기적으로 데이터를 주고 받은후 클라이언트에서 해당 데이터에 대한 처리를 할 수 있다. 쉽게 이야기하면 Ajax를 이용할 경우 별도의 웹 페이지를 호출하지 않더라도, 클라이언트 화면을 유지한채 다른 페이지를 호출할 수 있다.
이러한 Ajax를 jQuery를 이용하면 정말 손쉽게 사용할 수 있는데, 기본적인 설정값만 넣어주면 바로 사용이 가능하다.
ajax 의 data 값에 배열(Array)을 넘기기 위해서는 세팅값을 바꿔주어야 한다.
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);
}
});
보낸 데이터를 컨트롤러(서버단)에서 String[] 또는 ArrayList 로 받으면 된다.
@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]);
*** jQuery.ajaxSettings.traditional = true; 세팅을 안해줄 경우에는
Java 에서 String[] param = request.getParameterValues("addFind[]"); 로 처리하면 된다.
반응형