์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- ์ฝํ
- ํจ์
- select
- SQL
- optionํ๊ทธ
- ํ ์ด๋ธ
- post๋ฐฉ์
- order by
- ๋์
- Update
- Ajax
- MySQL
- ์ปจํธ๋กค๋ฌ
- ๋ช ๋ น์ด
- JavaScript
- oracle
- Spring
- ์ธ๋ผ์ธ๋ทฐ
- JSP
- DATE_FORMAT
- like
- ๋ฐฑํฑ
- ๋ฆฌ๋ ์ค
- ๋์ ํ ์ด๋ธ
- ๋ฐฐ์ด
- JS
- ๋์ปค
- ํ๋ก๊ทธ๋๋จธ์ค
- ์๋ฐ์คํฌ๋ฆฝํธ
- ๋ณ์
- Today
- Total
bom's happy life
[AJAX] ajax - controller ํต์ / update ๊ธฐ๋ฅ ๋ณธ๋ฌธ
[AJAX] ajax - controller ํต์ / update ๊ธฐ๋ฅ
bompeach 2023. 10. 26. 16:51< '์ ์' ๋ฒํผ ํด๋ฆญ ์ '์น์ธ'์ด ๋๋๋ก update ๊ตฌํํ๊ธฐ >
์ค์ํ ๋ถ๋ถ์ด๋ ๊ธฐ์ตํ๊ณ ์ถ์ ๋ถ๋ถ ๊ธฐ๋ก.
์ผ๋จ update๋ return ๊ฐ์ด ๊ธฐ๋ณธ์ ์ผ๋ก๋ ํ์๊ฐ ์๋ค. (return ๊ฐ์ด ์์ ๋๋ void๋ก ๋ฐ๊ฟ์ฃผ)
๊ทธ๋ฐ๋ฐ return๊ฐ์ ๋ง๋ค์ด์ ์ฑํจ๋ฅผ alertํ๋ ์ฉ๋๋ก ๊ฐ๋ฐํ๋ ๊ฒ์ด ์ข๋ค.(๋๋ ์ด๊ฑธ๋ก ใฑใฑ)
์์ →
jsp
<td><a class="receipt" href="javascript:void(0);" onclick="accept_btn(${data.seq}, this);">์ ์</a></td>
ajax
function accept_btn(seq, obj) {
console.log("seq = " + seq);
if (!confirm("์น์ธํ์๊ฒ ์ต๋๊น?")) {
return;
}
var data = {"seq" : seq};
$.ajax({
type : "POST",
url : "${pageContext.request.contextPath }/admin/emp/accept",
data : data,
/* contentType : "application/json", */
success : function(data) {
if(data == 'done'){
toastAlert("success","์น์ธ ๋์์ต๋๋ค!");
$(obj).parent().html('์น์ธ');
}else{
toastAlert("error","์ค๋ฅ๊ฐ ๋ฐ์ํ์์ต๋๋ค.");
}
},
error : function(error) {
console.log(error);
}
});
}
๋ด๊ฐ ์ํ๋๊ฑด ajaxํต์ ์ด ์ฑ๊ณตํ๋ฉด alert๊ฐ ๋จ๋ฉด์ '์ ์' ๋ฒํผ์ด '์น์ธ'์ผ๋ก ๋ณ๊ฒฝ๋๋๋ก ํ๊ณ ์ถ์ด์ location.reload(); ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ์๋ค. ๊ทธ๋ฌ๋๋ ๋ฌธ์ ๊ฐ ๋ญ๋๋ฉด, alert๊ฐ ๋ช ํํ ๋จ๊ธฐ๋ ์ ์ ์๋ก๊ณ ์นจ ์ฒ๋ฆฌ๊ฐ ๋์ด๋ฒ๋ ค์ ์๋ฆผ์ฐฝ์ ๋ณผ ์๊ฐ ์์๋ค.
๊ทธ๋์
onclick="accept_btn(${data.seq}, this); ์ฌ๊ธฐ์ this๋ฅผ ์ถ๊ฐํด์ฃผ๊ณ ,
function accept_btn(seq, obj) ์ฌ๊ธฐ์ ๋ฐ์์ฃผ๊ณ ,
$(obj).parent().html('์น์ธ')
๐กํ๋ํ๋ ๋ฏ์ด์ ์ค๋ช
1๏ธโฃ $(obj) : obj๋ ์ ํํ๋ ค๋ HTML ์์.
2๏ธโฃ.parent() : ์ ํํ HTML ์์์ ๋ถ๋ชจ ์์๋ฅผ ์ ํํ๋ jQuery ๋ฉ์๋, ์ ํํ ์์๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ฐ์ฅ ๊ฐ๊น์ด ์์ ๋ถ๋ชจ ์์๋ฅผ ์ฐพ๋๋ค.
3๏ธโฃ.html('์น์ธ') : ์ ํํ ๋ถ๋ชจ ์์์ HTML ๋ด์ฉ์ '์น์ธ'์ผ๋ก ๋ฐ๊พธ๋ jQuery ๋ฉ์๋.( ' '๋น ๋ฌธ์์ด๋ก ๋ ์๋ ์๋ค. )
์ฆ, ์ด ์ฝ๋์ ๋ชฉ์ ์ ์ ํํ HTML ์์์ ๋ถ๋ชจ ์์์ ๋ด์ฉ์ ๋ชจ๋ '์น์ธ' ์ผ๋ก ๋ฐ๊พธ๋ ๊ฒ!
Controller
ajaxํต์ ์ ํ์ํ @ResponseBody
@ResponseBody
@RequestMapping(value="/accept", method = RequestMethod.POST)
public String adminEmpAccept(AccntVo searchVo) {
if(adminAccntService.adminEmpAccept(searchVo) == 1) {
return "done";
}else {
return "error";
}
}
Service
Integer adminEmpAccept(AccntVo accnt);
ServiceImpl
@Override
public Integer adminEmpAccept(AccntVo accnt) {
return adminAccntRepository.adminEmpAccept(accnt);
}
Repository or DAO
Integer adminEmpAccept(AccntVo accntVo);
xml(mapper)
<update id="adminEmpAccept" parameterType="accnt" >
UPDATE ACCNT
SET
APPROVE_STS = 'Y'
WHERE 1=1
AND APPROVE_STS = 'N'
AND SEQ = #{seq}
</update>
'Deveolpment Study๐๏ธ > AJAX' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[AJAX] Ajax๋? (0) | 2023.07.25 |
---|---|
[AJAX] ๋น๋๊ธฐ ํต์ (0) | 2023.05.25 |
[AJAX] ๋๊ธ๋ฌ๊ธฐ (0) | 2023.05.19 |