Contents
see List작성일 2015. 04. 08.
jQuery에서 Ajax로 배열 전송하기
jQuery Ajax에서 배열 파라미터를 서버로 전송할 때 전통적인 방식을 사용해야 합니다.
문제 상황
기본 jQuery Ajax는 배열을 ids[]=1&ids[]=2 형식으로 전송하는데, Spring 등 일부 백엔드에서는 이를 인식하지 못합니다.
해결 방법
// 전역 설정
$.ajaxSettings.traditional = true;
// 또는 개별 요청에서 설정
$.ajax({
url: "/api/items",
type: "POST",
traditional: true, // 핵심 옵션
data: {
ids: [1, 2, 3, 4, 5]
},
success: function(response) {
console.log(response);
}
});traditional 옵션 차이
// traditional: false (기본값)
// 전송 형식: ids[]=1&ids[]=2&ids[]=3
// traditional: true
// 전송 형식: ids=1&ids=2&ids=3다양한 전송 방법
// 방법 1: JSON으로 전송
$.ajax({
url: "/api/items",
type: "POST",
contentType: "application/json",
data: JSON.stringify({ids: [1, 2, 3]}),
success: function(response) {}
});
// 방법 2: param 메서드 사용
var data = $.param({ids: [1, 2, 3]}, true);
$.post("/api/items", data);
// 방법 3: 문자열로 직접 조합
var ids = [1, 2, 3];
var params = ids.map(id => "ids=" + id).join("&");
$.post("/api/items?" + params);Spring Controller에서 받기
@RequestMapping("/api/items")
public void getItems(@RequestParam("ids") List ids) {
// ids: [1, 2, 3]
}
// 또는
@RequestMapping("/api/items")
public void getItems(@RequestParam("ids") int[] ids) {
// ids: [1, 2, 3]
} javascript
| No | 작성일 | Title |
|---|---|---|
| 3384 | 2026. 08. 21. | Node.js API에서 요청 취소를 제대로 처리하는 방법: AbortSignal로 외부 작업 정리하기 |
| 3352 | 2026. 08. 13. | Node.js 응답이 간헐적으로 느릴 때: 이벤트 루프 지연 측정과 CPU 작업 분리 방법 |
| 3320 | 2026. 08. 04. | JavaScript fetch 요청을 안전하게 만드는 방법: timeout·재시도·오류 처리 실전 패턴 |
| 3288 | 2026. 07. 27. | Node.js 서버 무중단 배포를 위한 Graceful Shutdown 구현 가이드 |
| 3257 | 2026. 07. 19. | Node.js 대용량 파일 처리 가이드: 스트림과 backpressure로 메모리 사용량 제어하기 |
| 3232 | 2026. 07. 11. | Node.js 실무형 에러 처리: async/await에서 실패를 일관되게 분류하고 복구 속도 높이기 |
| 3174 | 2026. 07. 02. | Node.js 환경 변수 검증 가이드: process.env를 안전한 설정 객체로 바꾸기 |
| 3123 | 2026. 06. 24. | TypeScript 타입 좁히기 운영 가이드: unknown 입력을 안전한 도메인 객체로 바꾸기 |
| 3065 | 2026. 06. 16. | 브라우저 성능 병목 찾기: PerformanceObserver로 LCP·INP·긴 작업 로그 수집하기 |
| 2978 | 2026. 06. 08. | Node.js fetch 타임아웃과 재시도 설계: 외부 API 장애 전파 줄이기 |