๐ŸŒ“ Pre) ์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ๋ฐ˜_2

Genie Knows Everythingยท2021๋…„ 6์›” 12์ผ
0

ํ•ญํ•ด 99 _ Lecture ์ผ์ง€

๋ชฉ๋ก ๋ณด๊ธฐ
3/11

์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ๋ฐ˜ 2์ฃผ์ฐจ ์ˆ˜์—… ์ž๋ฃŒ

๋งํฌ : https://www.notion.so/2-f9706fef663a4b5ca7c7013a57c1785d

- let :

์„ ์–ธํ•˜๋Š” ๊ฒƒ์€ ํ•จ์ˆ˜(function) ๋ฐ–์—์„œ ํ•ด์•ผํ•œ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ํ•จ์ˆ˜๊ฐ€ ๋๋‚˜๋ฉด์„œ ๊ฐ™์ด ์‚ฌ๋ผ์ง„๋‹ค.

- jQuery :

์ด์ „์—๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ ์ฝ”๋“œ๊ฐ€ ๋ชจ๋‘ ๋‹ฌ๋ผ ํ˜ธํ™˜์„ฑ์˜ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ์Œ.
์ด ํ˜ธํ™˜์„ฑ์˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด jQuery ์žฌ๋‹จ์—์„œ ์ „์ฒด ๋ธŒ๋ผ์šฐ์ € ์ฝ”๋“œ์— ๋Œ€ํ•œ ๋ฉ”ํƒ€ ๋ถ„์„์„ ์ง„ํ–‰ํ•˜์—ฌ ๊ฐ™์€ ๊ธฐ๋Šฅ์ด์ง€๋งŒ ๊ฐ๊ธฐ ๋‹ค๋ฅธ ์ฝ”๋“œ์— ๋Œ€ํ•œ ํ†ต์ผ ์ž‘์—…์„ ์ง„ํ–‰ํ•˜์˜€์Œ.
๊ทธ๋ ‡๊ฒŒ ํƒ„์ƒํ•œ ๊ฒƒ์ด jQery ์ด๋‹ค. ์ฆ‰, ๋ฏธ๋ฆฌ ์ž‘์„ฑ๋œ JavaScript๋ฌธ์ธ ๊ฒƒ(library ์ด๋‹ค).
import ํ•˜์ง€ ์•Š์œผ๋ฉด ์‚ฌ์šฉ ํ•  ์ˆ˜ ์—†๋‹ค.

jQuery๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋ฌธ <head ๋‚ด์— ์‚ฝ์ž…>

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
 

CSS์™€ ๋™์ผํ•˜๊ฒŒ jQuery๋„ ํŠน์ •ํ•˜์ง€ ์•Š์œผ๋ฉด(๊ฐ€๋ฆฌํ‚ค์ง€) ์•Š์œผ๋ฉด ์กฐ์ž‘ ํ•  ์ˆ˜ ์—†๋‹ค.
๋ณ€์ˆ˜ ์ง€์ •์‹œ

CSS๋Š” class
jQuery๋Š” id

๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

๐Ÿ“•

  • ๋ธŒ๋ผ์šฐ์ € ๊ฐœ๋ฐœ์ž ๋ชจ๋“œ์—์„œ id์˜ ๊ฐ’ ๊ฐ€์ ธ์˜ฌ ๋•Œ,
    $('#post-url').val(); : id ๊ฐ’์ด post-url์ธ ๊ณณ์„ ๊ฐ€๋ฆฌํ‚ค๊ณ , val()๋กœ ๊ฐ’์„ ๊ฐ€์ ธ์˜จ๋‹ค. val ์•ˆ์˜ ๊ฐ’์„ ๋ฐ”๊พธ๋ฉด ๊ทธ ๊ฐ’์œผ๋กœ ๋ฐ”๊ฟ”์คŒ. val์€ input ๋ฐ•์Šค์—๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ~!!!
  • div ๋ณด์ด๊ธฐ / ์ˆจ๊ธฐ๊ธฐ
    $('#post-box').hide(); : id ๊ฐ’์ด post-box์ธ ๊ณณ์„ ๊ฐ€๋ฆฌํ‚ค๊ณ , hide()๋กœ ์•ˆ๋ณด์ด๊ฒŒ ํ•œ๋‹ค.(=css์˜ display ๊ฐ’์„ none์œผ๋กœ ๋ฐ”๊พผ๋‹ค)
    $('#post-box').show(); : show()๋กœ ๋ณด์ด๊ฒŒ ํ•œ๋‹ค.(=css์˜ display ๊ฐ’์„ block์œผ๋กœ ๋ฐ”๊พผ๋‹ค)
  • CSS ๊ด€๋ จ
    $('#post-box').css(); : css()๊ฐ’์„ ๊ฐ€์ ธ์˜ค๊ฑฐ๋‚˜ ()์•ˆ์— ์ ํžŒ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ๋‚ด์šฉ ์ž…๋ ฅ์„ ํ†ตํ•ด ๊ธฐ์กด์˜ ๊ฐ’์„ ๋ฐ”๊พธ๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. ('display') ๋ฅผ ์น˜๋ฉด ํ˜„์žฌ ๋ณด์ด๋Š”์ง€ ์•ˆ๋ณด์ด๋Š”์ง€์— ๋Œ€ํ•œ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์ด์ฒ˜๋Ÿผ .css() ๋Š” ํ˜„์žฌ ํ™”๋ฉด์— ๋ณด์ด๋Š” ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ด์ค€๋‹ค.
    $('#post-url').text(); : ์ธํ’‹ ๋ฐ•์Šค๊ฐ€ ์•„๋‹Œ ๊ฒƒ์˜ ๊ฐ’์„ ๊ฐ€์ ธ์™€์ฃผ๊ฑฐ๋‚˜ ๋‚ด์šฉ์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค.

- ๋ธŒ๋ผ์šฐ์ € ํ†ต์‹ ์˜ ์ดํ•ด

  • ์„œ๋ฒ„ -> ํด๋ผ์ด์–ธํŠธ ํ†ต์‹  : 'JSON' (ํŽ˜์ด์ง€ ์—†์ด js๋กœ ๊ฐ’์„ ๋ฐ›์•„์˜ค๋Š” ๋ฒ•)
  • ํด๋ผ์ด์–ธํŠธ -> ์„œ๋ฒ„ ํ†ต์‹  : 'GET' ์š”์ฒญ (๋ฐ์ดํ„ฐ ์กฐํšŒ(read)๋ฅผ ์š”์ฒญํ•  ๋•Œ)
  • ํด๋ผ์ด์–ธํŠธ -> ์„œ๋ฒ„ ํ†ต์‹  : 'POST' ์š”์ฒญ (๋ฐ์ดํ„ฐ ์ƒ์„ฑ(cread), ๋ณ€๊ฒฝ(update), ์‚ญ์ œ(dlete)๋ฅผ ์š”์ฒญํ•  ๋•Œ)

๐Ÿ“• ์€ํ–‰์ด๋ผ๊ณ  ๊ฐ€์ •
์„œ๋ฒ„ : ์€ํ–‰
ํด๋ผ์ด์–ธํŠธ : ์€ํ–‰์„ ์ฐพ์•„์˜จ ๊ณ ๊ฐ
(๋ญํ•˜๋Ÿฌ ์˜ค์…จ์–ด์š”? )
API : ์€ํ–‰ ์ฐฝ๊ตฌ
GET : ์กฐํšŒํ•˜๋Ÿฌ ์™”์–ด์š” ๊ณ ๊ฐ
POST : ํˆฌ์ž ๋“ฑ ๋‹ค์–‘ํ•œ ์—…๋ฌด ํ•˜๋Ÿฌ ์™”์–ด์š” ๊ณ ๊ฐ
=> ๊ณ ๊ฐ์˜ ํƒ€์ž…์— ๋”ฐ๋ผ ๊ฐ€์ ธ์™€์•ผ ํ•˜๋Š”๊ฒƒ / ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ / ์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ๊ฐ€ ๋‹ค๋ฆ„.

  • https://movie.naver.com/movie/bi/mi/basic.nhn?code=161967

๋นจ๊ฐ„์ƒ‰ : ์„œ๋ฒ„ ์ฃผ์†Œ (์šฐ๋ฆฌ์€ํ–‰ ์šฉ์‚ฐ์ง€์ )
ํŒŒ๋ž€์ƒ‰ : ์ฐฝ๊ตฌ ์ด๋ฆ„(API) (์šฐ๋ฆฌ์€ํ–‰ ์šฉ์‚ฐ์ง€์ ์˜ ์ž…์ถœ๊ธˆ ์ฐฝ๊ตฌ)
๋…ธ๋ž€์ƒ‰ : ๊ตฌ๋ถ„ ๊ธฐ์ค€์ 
๊ฒ€์ •์ƒ‰ : ๊ธฐ์ค€์  ๋’ค๋กœ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ฐ€์ง€๊ณ  ๊ฐ€๋Š” ๋ฐ์ดํ„ฐ (์ฃผ๋ฏผ๋“ฑ๋ก, ๋ฒˆํ˜ธ, ๊ณ„์ขŒ ๋‚ด ๊ธˆ์•ก ๋“ฑ)

-> ๊ทธ๋Ÿฐ ์ด๋Ÿฐ code ๊ฐ’์€ ๋ˆ„๊ฐ€ ์ •ํ•˜๋Š”๊ฐ€? ์š”์ฒญํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์š”์ฒญ์„ ๋ฐ›๋Š” ์„œ๋ฒ„๊ฐ€ ๋ฏธ๋ฆฌ ์•ฝ์†ํ•œ ๊ฒƒ. code๋กœ ๊ฐ€์ ธ์˜ค๋ฉด ๋‚ด๊ฐ€ code์— ๋งž๋Š” ๊ฐ’์„ ์ค„๊ป˜
๋ธŒ๋ผ์šฐ์ € ์ฃผ์†Œ์ฐฝ์— ์—”ํ„ฐ๋ฅผ ์น˜๋Š” ํ–‰์œ„ ์ž์ฒด๊ฐ€ GETํ•˜๋Š” ๊ฒƒ.

- Ajax

  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ด์šฉํ•ด์„œ ๋น„๋™๊ธฐ์‹์œผ๋กœ XML์„ ์ด์šฉํ•˜์—ฌ ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•˜๋Š” ๋ฐฉ์‹

Ajax๋Š” jquery๋ฅผ importํ•œ ํŽ˜์ด์ง€์—์„œ๋งŒ ์ž‘๋™ํ•œ๋‹ค.

  • Ajax์˜ ๋™์ž‘๋ฐฉ์‹
    ์š”์ฒญ : ๋ธŒ๋ผ์šฐ์ €๋Š” ์„œ๋ฒ„์— ์ •๋ณด๋ฅผ ์š”์ฒญํ•œ๋‹ค. (๋ธŒ๋ผ์šฐ์ €๋Š” Ajax์š”์ฒญ์„ ๋‹ด๋‹นํ•˜๋Š” XMLHttpRequest ๋ผ๋Š” ๊ฐ์ฒด๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  ์žˆ๋‹ค.)
    [ ์„œ๋ฒ„์˜ ๋™์ž‘ : ์„œ๋ฒ„๋Š” ์‘๋‹ต์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•œ๋‹ค. (XML, JSON) ]
    ์‘๋‹ต : ๋ธŒ๋ผ์šฐ์ €๋Š” ์ฝ˜ํ…์ธ ๋ฅผ ์ฒ˜๋ฆฌํ•˜์—ฌ ํŽ˜์ด์ง€์— ์ถ”๊ฐ€ํ•œ๋‹ค.

  • Ajax์˜ ๊ตฌ์กฐ

profile
๐Ÿ˜œ๐Ÿ’–

0๊ฐœ์˜ ๋Œ“๊ธ€