JavaScript์์ HTTP ์์ฒญ์ ๋ง๋๋ ๋ฐฉ๋ฒ์ผ๋ก๋ ๋ด์ฅ๋ fetch() ํจ์๋ XMLHttpRequest (XHR) ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ค์์ fetch()์ ์ฌ์ฉํ๋ ์์์ ๋๋ค:
fetch('https://example.com/data')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
์ด ์์์์๋ https://example.com/data๋ก GET ์์ฒญ์ ๋ณด๋ด๊ณ ์์ต๋๋ค. fetch() ํจ์๋ ์์ฒญ์ ๋ํ ์๋ฒ์ ์๋ต์ ๋ํ๋ด๋ Response ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ Promise๋ฅผ ๋ฐํํฉ๋๋ค.
๊ทธ๋ฐ ๋ค์, Response ๊ฐ์ฒด์์ json() ๋ฉ์๋๋ฅผ ํธ์ถํ์ฌ ์๋ต์์ JSON ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ ์ ์์ต๋๋ค. ์ด ๋ฉ์๋๋ Promise๋ฅผ ๋ฐํํ์ฌ ํ์ฑ๋ JSON ๋ฐ์ดํฐ๋ฅผ ๋ํ๋ ๋๋ค.
๋ ๋ฒ์งธ then() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ด์ Promise์์ ๋ฐํ๋ JSON ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ์ด ์์ ์์๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ์์ ๋ก๊ทธ๋ก ์ถ๋ ฅํ์ง๋ง, ์ฌ๊ธฐ์์ ํ์ํ ์์ ์ ์ํํ ์ ์์ต๋๋ค.
๋ง์ง๋ง์ผ๋ก, catch() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์์ฒญ ๋๋ ์๋ต ์ค์ ๋ฐ์ํ ์ ์๋ ์ค๋ฅ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค.
๋ค์์ XMLHttpRequest (XHR) ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ ์์์ ๋๋ค:
const xhr = new XMLHttpRequest();
xhr.open('GET', 'https://example.com/data');
xhr.responseType = 'json';
xhr.onload = function() {
console.log(xhr.response);
};
xhr.send();
์ด ์์์์๋ ์๋ก์ด XHR ๊ฐ์ฒด๋ฅผ ๋ง๋ค๊ณ https://example.com/data๋ก GET ์์ฒญ์ ์ฝ๋๋ค. responseType ์์ฑ์ json์ผ๋ก ์ค์ ํ์ฌ XHR ๊ฐ์ฒด๊ฐ ์๋ต์ ์๋์ผ๋ก JSON์ผ๋ก ํ์ฑํ๋๋กํฉ๋๋ค.
onload ์ด๋ฒคํธ ํธ๋ค๋ฌ๋ฅผ ์ค์ ํ์ฌ ์ฑ๊ณต์ ์ธ ์๋ต์ ์ฒ๋ฆฌํฉ๋๋ค. ์ด ์์์์๋ ์๋ต์ ์ฝ์์ ๋ก๊ทธ๋ก ์ถ๋ ฅํฉ๋๋ค.
๋ง์ง๋ง์ผ๋ก, send() ๋ฉ์๋๋ฅผ ํธ์ถํ์ฌ ์์ฒญ์ ๋ณด๋ ๋๋ค.
'๐ํ๋ก๊ทธ๋๋ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ ๋ณด] ํ์ด์ฌ ๋คํธ์ํฌ ํต์ ํ๋ก๊ทธ๋๋ฐ ์ข ๋ฅ ๋ฐ ์์ (0) | 2023.02.15 |
---|---|
[์ ๋ณด] ํ์ด์ฌ subprocess ์ค๋ช ๋ฐ ์์ (0) | 2023.02.15 |
[์ ๋ณด] ์ ํจ์ค ํ์ฉ ๋ฐฉ๋ฒ (0) | 2023.02.15 |
[์ ๋ณด] ํ์ด์ฌ ํ์ผ ์ธ์ฝ๋ฉ ๋ณํ ํจ์ (0) | 2023.02.15 |
[ํ์ด์ฌ] ์์ผ ํ๋ก๊ทธ๋๋ฐ ์์ (1) | 2023.02.15 |