2021. 11. 30. 15:28ใSpring
https://hyejin.tistory.com/272
์ฌ๊ธฐ์ ํ๋ ์ฌ์ฉ์ ๊ด๋ฆฌ์ ๋ํด์ RESTful ์น ์๋น์ค ํธ์ถ์ ์ํด Ajax ํต์ ๋ฐฉ๋ฒ์ ์ด์ฉํ ์์ ์ด๋ค.
Ajax ํต์ ์ ํ๋ ๋ณต์กํ ์ฝ๋๋ฅผ ๊ฐ๊ฒฐํ๊ฒ ์์ฑํ๊ธฐ ์ํด์ jQuery $.ajax()๋ฅผ ์ฌ์ฉํ๋ค.
1๏ธโฃ ์ฌ์ฉ์ ๋ชฉ๋ก ์กฐํ
-> html์๋ <thead>๋ง ์์ฑํ๊ณ , ์๋ฒ๋ก๋ถํฐ ๋ฐ์ ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํ์ฌ ๋์ ์ผ๋ก ํ ์ด๋ธ์ row๋ฅผ ์ฆ๊ฐ์ํฌ๊ฒ์ด๋ค.
controller์์ ์์ฒญ ๊ฒฝ๋ก๋ฅผ users๋ก ํ๊ธฐ ๋๋ฌธ์ ajax์ url๋ 'users'์ด๋ค.
๊ทธ๋ฆฌ๊ณ GET ๋ฐฉ์์ด๊ธฐ ๋๋ฌธ์ type ๋ GET์ด๋ค.
2๏ธโฃ ํน์ ์ฌ์ฉ์ ์กฐํ
html ํ์ด์ง๊ฐ ๋ก๋๋ ๋ userSelect() ๋ฉ์๋๋ฅผ ํธ์ถํ๋ค.
ํน์ ์ฌ์ฉ์์ id ๊ฐ์ ๊ฐ์ ธ์ค๊ธฐ ์ํด input type์ hidden์ผ๋ก ์ค์ ํ๋ ๊ฐ์ ๊ฐ์ ธ์์ ์ฌ์ฉํ๋ค.
์ฌ์ฉ์ ์กฐํ์ ๋ํ ์์ฒญ์ด ์ค๋ฉด userSelectResult ํจ์๊ฐ ์คํ๋๋ค.
๊ทธ๋ฆฌ๊ณ RestfulController์์ user๊ฐ์ฒด๋ฅผ "data"์ ์ด๋ฆ์ผ๋ก ๊ฐ์ ๋ด์ ์ ๋ฌํ๊ธฐ ๋๋ฌธ์
var user = xhr.dataํด์ user๊ฐ์ ๊ฐ์ ธ์จ๋ค.
๊ทธ๋ฆฌ๊ณ ์ฌ๊ธฐ์ ๊ฐ๊ฐ ๊ฐ์ ์ ๋ ฅํด์ฃผ๋ ๊ฒ์ด๋ค.
3๏ธโฃ ์ฌ์ฉ์ ์ ๋ณด ๋ฑ๋ก
ํผ์ ๊ฐ๊ฐ ๊ฐ์ ์ ๋ ฅํ๊ณ , ๋ฑ๋ก ๋ฒํผ์ ๋๋ฅด๋ฉด userid, name, gender, city์ ์ ๋ ฅ๋ ๊ฐ์ ๊ฐ์ ธ์์ var userid, name, gender, city์ ์ ์ฅํ๋ค.
๊ทธ๋ฆฌ๊ณ ์๋ฒ์ ์ด๋ฅผ ๋ณด๋ด์ค์ผํ๊ธฐ ๋๋ฌธ์ JSON์ผ๋ก ๋ฐ๊ฟ์ ์ ๋ฌํด์ค๋ค.
4๏ธโฃ ์ฌ์ฉ์ ์ ๋ณด ์์
ํน์ ์ฌ์ฉ์๋ฅผ ์กฐํํ์ ๋ ์ ๋ ฅ๋์ด์๋ ๊ฐ๋ค์ ๋ฐ์ ๊ฐ๊ฐ var userid, name, gender, city์ ์ ์ฅํ๊ณ ,
์ด๋ฅผ Json์ผ๋ก ์์ฑํ์ฌ์ ์๋ฒ๋ก ๋ณด๋ธ๋ค.
5๏ธโฃ ์ฌ์ฉ์ ์ ๋ณด ์ญ์
์ญ์ ํ๊ธฐ์ ์๋ ์ฌ์ฉ์์๊ฒ ๋ค์ ํ๋ฒ ์ญ์ ์์ฒญ์ ํ์ธํ๋ค.
๊ทธ๋ฆฌ๊ณ ์ฌ์ฉ์๊ฐ ํ์ธ๋ฒํผ์ ๋๋ฅด๋ฉด ajax๋ก ์๋ฒ๋ก ์ญ์ ๋ฅผ ์์ฒญํ๋ค.
6๏ธโฃ ์ฌ์ฉ์ ์์ฑ ์ ๋ณด ์ด๊ธฐํ