console.log

[AJAX] Client์—์„œ Request๋ฅผ ์ „์†กํ•˜๊ณ  ์‘๋‹ต์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค ๋ณธ๋ฌธ

๊ฐœ๋ฐœ๊ณต๋ถ€/JavaScript

[AJAX] Client์—์„œ Request๋ฅผ ์ „์†กํ•˜๊ณ  ์‘๋‹ต์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค

foresight 2023. 9. 1. 15:35

Get

๐Ÿ”ธ
jsx —→ fetch API ์‚ฌ์šฉ fetch([URL]).then((response) => response.json()) .then((data) => console.log(data));

fetch([URL]) - URL ์™ธ ์ธ์ž๊ฐ€ ์—†์œผ๋ฉด ์ž๋™์œผ๋กœ Get ๋ฐฉ์‹ ์‚ฌ์šฉํ•ด์„œ ์š”์ฒญ ์ „์†ก- fetch ํ•จ์ˆ˜์˜ ๋ฆฌํ„ด ํƒ€์ž…์€ Promise ํƒ€์ž… ๊ฐ์ฒด

then((response) => response.json()) - then ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด fetch ํ•จ์ˆ˜(Promise)๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋˜์—ˆ์„ ๋•Œ์˜ ์‘๋‹ต(resolve)์„ ๋ฐ›์•„์˜ค๋ฉด HTTP Request์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” Response ๊ฐ์ฒด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Œ

then((data) => console.log(data)); - json()ํ•จ์ˆ˜๋„ Promise ํƒ€์ž… ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์— then ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ resolve ํ•ด์ฃผ๋Š” json ํ˜•์‹์˜ ๋ฐ์ดํ„ฐ๋งŒ ๋ฐ›์•„์˜ฌ ์ˆ˜ ์žˆ์Œ - ๋ฐ›์•„์˜จ json ๊ฐ์ฒด๋ฅผ console์— ํ‘œ์‹œํ•˜๊ฑฐ๋‚˜, DOM์— ๋ฟŒ๋ฆฌ๋Š” ๋“ฑ ์ ์ ˆํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋ฉด ๋จ!

 

Client์—์„œ Request๋ฅผ ์ „์†กํ•˜๊ณ  ์‘๋‹ต์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค ์ •๋ฆฌ

 

  • GET
    .then((response) => response.json()) 
    // json ๊ฐ์ฒด๋กœ ๋งŒ๋“ค์–ด์ง„ ๋ฐ์ดํ„ฐ๊ฐ€ data์— ๋‹ด๊น€ 
    // data๋ฅผ ์ถœ๋ ฅ, ๋˜๋Š” ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ ์ ˆํ•˜๊ฒŒ ํ™œ์šฉํ•˜๊ธฐ 
    .then((data) => console.log(data));
    // fetch API ์‚ฌ์šฉfetch([URL]) 
    // URL ์™ธ ์ธ์ž๊ฐ€ ์—†์œผ๋ฉด ์ž๋™์œผ๋กœ Get ๋ฐฉ์‹ ์‚ฌ์šฉํ•ด์„œ ์š”์ฒญ ์ „์†ก
    // response๋Š” promise ๊ฐ์ฒด์ž„
    // ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋งŒ ์–ป๊ธฐ ์œ„ํ•ด์„œ json() ํ•จ์ˆ˜ ์‚ฌ์šฉ
    // json ํ˜•ํƒœ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ด
  • POST
    // fetch API ์‚ฌ์šฉ
    let option = {// ์š”์ฒญ์— ์‚ฌ์šฉํ•  http method ๋ช…์‹œ
    	method: "POST", // ์š”์ฒญ์— ํ•„์š”ํ•œ 
    	headerheaders: { // ์š”์ฒญ๊ณผ ํ•จ๊ป˜ ์ „์†กํ•  ๋ฐ์ดํ„ฐ๊ฐ€ json ํ˜•ํƒœ์ž„์„ ์•Œ๋ฆผ
    		"Content-Type": "application/json", 
    	},
    	// ์š”์ฒญ๊ณผ ํ•จ๊ป˜ ์ „์†กํ•  ๋ฐ์ดํ„ฐ๋ฅผ ์ง๋ ฌํ™” (stringify, serialize) 
    	body: JSON.stringify(obj) 
    }