javascript - fetch

CHan·2023년 3월 7일
0

Fetch

1. Fetch api

fetch api는 브라우저에서 서버로 http 요청을 하게 해준다.
서버에서 브라우저로 데이터를 전송할 때 promise를 사용한다.
브라우저에서 url 요청을 전송할 때 전역 스코를 가진다.

2. 기본 문법

let promise = fetch(url, [options])
  • url : 접근하고자 하는 url
  • options : 선택 매개변수, 메서드나 헤더 등을 지정
  • options는 생략이 가능하며 생략하게 되면 get 메서드로 진행되어
    url로부터 콘텐츠가 다운로드 된다.
  • fetch()를 호출하면 브라우저는 네트워크 요청을 보내고 프로미스가 반환된다.
    반환되는 프로미스는 fetch()를 호출하는 코드에서 사용된다.
let respons = await fetch(url, options);
let result = await response.json();
  • 위에 코드는 응답 헤더와 함께 이행이 되고
    아래의 result 부분의 코드는 json 본문을 읽는다.

2-1. GET 요청

  fetch('http://naver.com/안녕하세요.json')
  .then((response) => response.json())
  .then((data) => console.log(data));
  • 네트워크에서 json 파일을 가져와서 콘솔에 출력하는 코드이다.
  • api에 있는 데이터를 가져올 때 쓰이며 fetch 함수는 기본적으로
    get 방식으로 작동하기 때문에 option이 생략 가능하다.
  • response(응답) 객체는 json 메서드를 제공하며 이 메서드를 호출하면
    response로부터 json 형태의 데이터를 자바스크립트 객체로 변환화여 얻어 온다.

2-2. POST 요청

 fetch("http://naver.com/post", {
	method: "POST",
    headers: {
    	"Content-Type": "application/json",
    },
    body: JSON.stringify({
    	title: "hello world",
        body: "안녕 하세요",
        userId: 1,
        }),
 }).then((response) => response.json())
   .then((data) => console.log(data))
  • 데이터를 만들어 낼 때 보내는 데이터의 양이 많거나 보호해야 하는
    개인정보 같은 데이터들을 보낼 때 POST 메서드를 사용한다.
  • POST를 생성하려면
    • 메서드 옵션을 POST로 지정
    • headers 옵션으로 JSON 포맷을 사용한다고 지정
    • body 옵션은 요청 전문을 JSON 포맷으로 지정
profile
Hello World!

0개의 댓글