//JS단에서
//traditional: true를 추가하면
//RequestParam(value="chkList")처럼 []을 표시할 필요가 없다.
//추가하지 않은 경우에는 []를 붙여줘야 한다
//RequestParam Value값으로 Ajax에서 정한 변수명[]
@ResponseBody
@PostMapping("myshop/deleteSelectedCart")
public int deleteSelectedCart(@RequestParam(value="chkList[]") int[] deleteList) {
for(int cartNo : deleteList) {
service.deleteSelectedCart(cartNo);
}
return 1;
}
/* 카트 선택 삭제 */
$('#btnDeleteSelectedCart').click(function(e){
e.preventDefault();
let chkList = [];
$('input[name=chkCart]').each(function(){
if($(this).is(":checked")){
chkList.push(parseInt($(this).val()));
}
});
console.log(chkList);
$.ajax({
url:'/Beauty/myshop/deleteSelectedCart',
type:'POST',
data:{'chkList': chkList},
dataType:'json',
success:function(data){
if(data == 1){
$('input[name=chkCart]').each(function(){
//todo
});
}else{
alert('1개보다 작게 설정할 수 없습니다.');
}
}
});
});
[JavaScript/Ajax] Ajax 배열(array) 전송 (Controller에 배열 보내기)