728x90
반응형
삭제버튼을 눌렀을 경우 삭제를 확인하는 alert를 띄어준 후, 확인버튼을 눌렀을 경우
백엔드에 데이터를 전송하고 DB쿼리문으로 해당 데이터를 삭제한다.
1. 전 글에서 수정했을 때와 마찬가지로 carlist_condition에 추가된 내용을 참조한다.
insertTr += "<input type='button' value='"+i18nconvert("delete")+"' onclick=delete_one(this,'/car/ajax/car_deleteone') class='btn btn-sm btn-white width-60' name =' "+ Object.array[i].CN +"'></td> ";
2. 클릭했을 경우 delete_one 함수를 실행해준다. ( obj는 HTML script에서 선언한 pagingObject이다. )
// 일반 삭제 기능
function delete_one(obj,url) {
var answer;
answer = confirm(i18nconvert('deleteconfirm'));
if(answer == true){
$.ajax({
url: url,
type: "POST",
dataType: 'json',
data: {
select : $(obj).attr('name'),
}
}).done(function (data) {
if(data.result == 'success') {
alert(i18nconvert('deletesuccess'));
location.reload();
}
else {
alert(i18nconvert('choiceerror'));
}
});
}
else {
return false;
}
}
3. 백엔드에서 받은 데이터를 이용해 DB쿼리문으로 해당 데이터를 삭제해준다.
router.post('/ajax/car_deleteone', isNotLoggedIn, async (req, res, next) => {
var select = req.body["select"];
// const CID = req.decoded.CID;
const CNU = req.decoded.CNU;
const CUA = moment().format('YYYY-MM-DD hh:mm:ss');
try {
const carone = await modelQuery(QUERY.Findone,COLLECTION_NAME.Car,{ "CNU" : CNU, "CN" : select.split(' ') },{});
await modelQuery(QUERY.Create,COLLECTION_NAME.Cardelete,{
"CNU" : carone.CNU,
"CC" : carone.CC,
"CPN" : carone.CPN,
},{});
await modelQuery(QUERY.Remove,COLLECTION_NAME.Car,{ "CNU" : CNU, "CN" : select.split(' ') },{});
await modelQuery(QUERY.Update,COLLECTION_NAME.Company,{where : {"CNU" : CNU}, update : { "CUA" : CUA }},{});
res.send({ result : 'success' });
} catch (err) {
res.send({ result : 'fail' });
console.error(err);
next(err);
}
});
728x90
반응형
'Node.js - JQuery' 카테고리의 다른 글
Node.js , JQuery | 테이블 만들기 | 페이지네이션 (0) | 2021.09.15 |
---|---|
Node.js , JQuery | 테이블 만들기 | 데이터 삭제(2) (0) | 2021.09.14 |
Node.js , JQuery | 테이블 만들기 | 데이터 수정 (0) | 2021.09.14 |
Node.js , JQuery | 테이블 만들기 | 데이터 조회 (0) | 2021.09.14 |
Node.js , JQuery | 테이블 만들기 | 데이터 등록(2) (0) | 2021.09.14 |