๐๋ฌธ์
๊ธฐ์กด์๋ ์ ์ถ์ด ์ฑ๊ณตํ๊ฑฐ๋ ์คํจํ ๊ฒฝ์ฐ ์ฌ์ฉ์์๊ฒ ์๋ดํ๊ธฐ ์ํด ๋ค์๊ณผ ๊ฐ์ด `Controller` ๋ฉ์๋ ๋ด์ `PrintWriter`๋ฅผ ์ฌ์ฉํ์ฌ ์ง์ ์คํฌ๋ฆฝํธ ์ฝ๋๋ก `alert`๋ฅผ ๋์ฐ๋๋ก ํ๋ค.
response.setCharacterEncoding("utf-8");
response.setContentType("text/html; charset=utf-8");
PrintWriter w = null;
try {
w = response.getWriter();
} catch (IOException e) {
// throw new RuntimeException(e);
return "redirect:/another";
}
if(result == 1){
w.println("<script> alert('์ฑ๊ณต!');");
}else{
w.println("<script> alert('์คํจ.');");
}
w.println("location.href='/another' </script>");
w.close();
๋ฌผ๋ก ์ด๋ ๊ฒ ์์ฑํ๋๋ผ๋ ๋ฐ๋ผ๋๋๋ก `alert` ์ฐฝ์ด ๋จ๊ธด ํ์ง๋ง, ์ฝ๋์ ๊ฐ๋ ์ฑ์ด ๋งค์ฐ ๋จ์ด์ง๊ณ ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ๋ฐฑ๋จ์์ ์์ฑํ๊ฒ ๋๋ฉด์ ์ค๋ฅ ๋ฐ์์ ๊ฐ๋ฅ์ฑ์ด ๋์์ง๋ค. ๋ alert ์ฐฝ์ ๋ชจ๋ฌ๋ก ๊ตฌํํ๊ฑฐ๋ ์ฑ๊ณต/์คํจ ๋ฉ์์ง๋ฅผ ํ๋ก ํธ๋จ ๋ด์์ ์์ ๋กญ๊ฒ ์ฒ๋ฆฌํ๋ ค๋ฉด ๋ฐฑ์์ ํ๋ก ํธ๋ก ์ฝ๋๋ง์ ๋๊ธฐ๋ ๊ฒ์ด ๋ ์ ์ ํด๋ณด์๋ค. (๋ฐฑ๊ณผ ํ๋ก ํธ์ ์ญํ ๋ถ๋ฆฌ)
๐ํด๊ฒฐ
REST API๋ฅผ ์ฌ์ฉํ๋ ๋ฑ ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์์์ง๋ง ๋๊ฐ์ ๊ฒฝ์ฐ ํ๋ก ํธ๋จ์์ ๋ฐ์ดํฐ๋ฅผ ํธ์ถํ๋ ๊ฒ์ด ์๋๋ผ `form`์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ถํ ๋ค ์๋ฒ๋จ์์ ์ฒ๋ฆฌ๋ฅผ ๋ง์น๊ณ ์ฑ๊ณต ์ฌ๋ถ๋ง ๋๊ฒจ์ฃผ๊ณ ์ถ์๊ธฐ ๋๋ฌธ์ ๊ธฐ์กด์ `PrinterWriter` ์ฝ๋๋ฅผ ๋ชจ๋ ์ญ์ ํ๊ณ ๋ฐํ url๋ง ๋ณ๊ฒฝํด์ฃผ์๋ค.
if(result == 1){
return "redirect:/another?code=success";
}
return "redirect:/another?code=fail";
๋ฐํ url์ ์ฑ๊ณต ์ฌ๋ถ๋ฅผ ํ๋ผ๋ฏธํฐ๋ก ๋ณด๋ด์ค๋ค๋ฉด ํ๋ก ํธ๋จ์์ ํ์ฉํ ์ ์์ ๊ฑฐ๋ผ๊ณ ํ๋จํ๋ค. ๊ฒ์ํด๋ณด๋ ์๋ฐ์คํฌ๋ฆฝํธ์๋ ํ์ฌ url์ ๋ถ๋ฌ์ค๋ ํจ์์ ํด๋น url์ ์กด์ฌํ๋ ํ๋ผ๋ฏธํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ํจ์๊ฐ ์์๋ค!
๋ค์๊ณผ ๊ฐ์ด ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์์ฑํ๋ฉด ์ฝ๋์ ๋ฐ๋ผ ์ํ๋ ๋ก์ง์ ์ฒ๋ฆฌํ ์ ์๋ค.
const url = new URL(window.location.href);
const urlSearchParams = url.searchParams;
const code = urlSearchParams.get("code");
switch (code){
case 'success' :
alert('์ฑ๊ณต!');
break;
case 'fail' :
alert('์คํจ.');
}
๐๋ฐ์
ํ๋ก ํธ์์ ๋ฐฑ๊ณผ ํต์ ํ์ฌ ์ฑ๊ณต/์คํจ ์ฌ๋ถ์ ๋ฐ๋ผ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ ajax ๋๋ axios๋ฅผ ํ์ฉํ ์ ์๋ค.
ajax๋ jQuery, axios๋ axios๋ฅผ ์ค์นํ์ฌ ์ฌ์ฉํ ์ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ. ์ต๊ทผ์๋ jQuery๋ณด๋ค๋ React๋ฅผ ๋ ํ์ฉํ๋ ์ถ์ธ๋ก, React ๋๋ Vue์ ํธํ์ฑ์ด ์ข์ axios๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ์ ์ ํด๋ณด์ธ๋ค. React๋ฅผ ๊ณต๋ถํด๋ณด์!
๐์ฐธ๊ณ
[Javascript] ํ์ฌ ํ์ด์ง URL ๊ฐ์ ธ์ค๊ธฐ
Javascript์์ ํ์ฌ ํ์ด์ง์ URL ์ฃผ์๋ฅผ ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ์ ์๊ฐํฉ๋๋ค. window.location (Location ๊ฐ์ฒด) ํ์ฌ ํ์ด์ง์ URL์ ์์์ค๊ธฐ ์ํด window.location ์์ฑ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. window.location ์์ฑ์ ์
hianna.tistory.com
[Javascript] URL ํ๋ผ๋ฏธํฐ ๊ฐ ๊ฐ์ ธ์ค๊ธฐ (์ฟผ๋ฆฌ์คํธ๋ง ๊ฐ)
Javascript์์ URL์ ํฌํจ๋ ํ๋ผ๋ฏธํฐ(์ฟผ๋ฆฌ์คํธ๋ง)์ ๊ฐ์ ์ฝ์ด์ค๋ ๋ฐฉ๋ฒ์ ๋๋ค. ํ์ฌ ํ์ด์ง์ URL๊ณผ ํ๋ผ๋ฏธํฐ ์ฝ๊ธฐ ํน์ ํ๋ผ๋ฏธํฐ ๊ฐ ์ฝ๊ธฐ ํน์ ํ๋ผ๋ฏธํฐ๊ฐ ์๋์ง ์ฒดํฌํ๊ธฐ ํ๋ผ๋ฏธํฐ ์ถ๊ฐ, ๋ณ๊ฒฝ,
hianna.tistory.com
'JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript] Kakao Map API (0) | 2024.09.19 |
---|---|
[JavaScript] ๋ฐฐ์ด (0) | 2024.06.19 |
[JavaScript] axios.get ํ๋ผ๋ฏธํฐ๊ฐ ์ ์ก๋์ง ์์ (1) | 2024.03.29 |
[JavaScript] ๊ฐ์ ํด๋์ค๋ฅผ ๊ฐ์ง ๋ฒํผ ํ๋ฒ์ eventListener ์ค์ ํ๊ธฐ (0) | 2024.03.21 |
[JavaScript] ์์ด๋ ์ค๋ณต ํ์ธ, ๋น๋ฐ๋ฒํธ ํ์ธ (0) | 2024.01.25 |