자바단으로 넘어가지 않고 자바스크립트단에서 JSON으로 데이터를 통으로 넘겨서 저장해야 할 경우가 생겼다.
자바스크립트에서
배열을 생성
객체를 생성
반복문을 돌면서 새로 객체를 생성하여 배열에다가 집어넣고
JSON으로 자바의 컨트롤러로 배열을 전달하여 저장해야하는 경우다.
/* js에서 */
var aJsonArray = new Array();
aJson = new Object();
aJson.frmNo = dateFormat(today) + seq++;
aJsonArray.push(aJson);
ppmboot.ajax({
type: "PUT",
url: ["skrghis", "bundleDetail"],
data: JSON.stringify(aJsonArray),
callback: function (res) {
axToast.push("저장 되었습니다.");
parent.ppmboot.modal.callback("");
}
});
controller도 전달받은 파라미터를 바로 저장하도록 수정해주어야한다
/* controller.java의 저장로직에서 다이렉트 저장되도록 수정*/
@RequestMapping(value ="bundleDetail",method = {RequestMethod.PUT}, produces = APPLICATION_JSON)
public ApiResponse bundleDetail(@RequestBody List<BundleDetail> request) {
bundleDetailService.save(request);
return ok();
}
다시 js로 돌아가서
/*코드자동발번 만들기함수 YYYYMMDDHHSS*/
function dateFormat(date) {
let month = date.getMonth() + 1;
let day = date.getDate();
let hour = date.getHours();
let minute = date.getMinutes();
let second = date.getSeconds();
month = month >= 10 ? month : '0' + month;
day = day >= 10 ? day : '0' + day;
hour = hour >= 10 ? hour : '0' + hour;
minute = minute >= 10 ? minute : '0' + minute;
second = second >= 10 ? second : '0' + second;
return date.getFullYear() + month + day + hour + minute + second;
}
/*사용하기*/
var seq = 0;
var today = new Date();
aJson.frmNo = dateFormat(today) + seq++;
결과 : 2023041712381 ~ 202304171238100 등등
'JS,HTML,CSS' 카테고리의 다른 글
[JS]현재시간 가져오는 함수만들기 (0) | 2023.11.01 |
---|---|
자바스크립트 ajax 데이터 내림차순 정렬하기 (0) | 2023.10.25 |
JavaScript ppmboot.grid 컬럼 기본 서식 (0) | 2023.04.08 |
JavaScript 데이터 undefined 체크하기 (0) | 2023.04.08 |
[JS] 조건에 따라 컬럼 보이게/안보이게 (0) | 2022.11.09 |