KingBini
KingBini_Note
KingBini
전체 방문자
오늘
어제
  • 분류 전체보기 (68)
    • Prgraming Error (13)
      • jsp,servlet (11)
    • Programing (30)
      • JavaScript (5)
      • java (10)
      • jsp (2)
      • study (9)
      • spring (4)
    • CS (2)
      • 자료구조 (1)
      • 알고리즘 (1)
    • Book (0)
    • 강의 (11)
      • 스프링_핵심원리_기본 (4)
      • 스프링부트 JPA활용 1 (7)
    • algorithm문제 풀이 (3)
      • 백준 (3)
    • Network (1)
    • cloud (2)
      • AWS Cloud (2)
    • DB (3)
      • PostgreSQL (2)
    • OS (1)
      • LINUX (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • CS
  • 인프런
  • servlet
  • 스프링 핵심원리
  • PostgreSQL
  • 자바
  • 자바스크립트
  • java
  • 스프링핵심원리
  • 집합 레벨
  • 스프링
  • 모각코 스터디
  • 스프링 부트와 JPA 활용1
  • 김영한
  • JSP
  • JPA
  • Spring
  • 집합 레벨 변화
  • 미니홈피 만들기
  • JS

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
KingBini

KingBini_Note

Programing/JavaScript

[JavaScript] fetch() 함수란?

2022. 10. 7. 19:28

fetch() 함수를 알아보자

fetch() 함수가 뭔데?

  • 클라이언트단에서 비동기로 네트워크를 통해 api를 호출해 리소스를 요청하고 응답받을 수 있다.

  • 예전엔 request,axios,jQuery같은 라이브러리를 이용해서 http를 요청하고 응답받았지만 요즘은 브라우저에서 기본으로 fetch()함수를 지원하기 때문에 상대적으로 더 좋은 대체제인 fetch()함수를 사용한다고 합니다.

  • 참고로 fetch는 브라우저에서 제공하는 window객체의 내장객체 이기 때문에 당연하게 node.js같은 환경에서는 사용이 불가하다.
    또 익스플로워 같은 구식 브라우저에서 동작하지않을 수 있다.



    기본 문법

    fetch ('api주소', {옵션 객체})
    //기본동작은 get방식으로 동작한다.
  • fetch()의 리턴값은 Promise이여서 응답객체에 접근할려면 .then을 이용한다.



    Get 방식 api호출

    fetch('https://jsonplaceholder.typicode.com/posts/1')
    //then으로 객체에 접근하여 json()함수를 이용해 json 객체로 변경
    .then((response) => response.json())
    .then((json) => console.log(json));

    👇 Output

    {
    id: 1,
    title: '...',
    body: '...',
    userId: 1
    }
    • get방식 api호출은 요청body를 받지 않아 2번째 인자 옵션 없이 첫번쩨인자인 api주소만 넣어 사용 가능하다.
      코드출처


Post 방식 api호출

fetch('https://jsonplaceholder.typicode.com/posts', {
  method: 'POST',
  body: JSON.stringify({
    title: 'foo',
    body: 'bar',
    userId: 1,
  }),
  headers: {
    'Content-type': 'application/json; charset=UTF-8',
  },
})
  .then((response) => response.json())
  .then((json) => console.log(json));

👇 Output

 {
  id: 101,
  title: 'foo',
  body: 'bar',
  userId: 1
}
  • get 방식 이외에는 api호출을 위해서는 "method: 'POST'" 로 동작방식을 명시해준다.

  • body는 문자열로 작성해주어야하기때문에 JSON.stringif() 함수를이용해서 문자열로 변환한다.

  • headers: 속성으로 json으로 명시하여 전송코드가 json임을 서버에 알려주는 역할을 한다.

    코드출처

'Programing > JavaScript' 카테고리의 다른 글

[js] undefined vs null  (0) 2022.11.16
js) 메서드 call,apply,bind 를 알아보자!  (0) 2022.09.28
JS)함수선언문, 함수 표현식 차이  (0) 2022.09.07
javaScript AJAX 를 사용하는 이유  (0) 2022.02.25
    'Programing/JavaScript' 카테고리의 다른 글
    • [js] undefined vs null
    • js) 메서드 call,apply,bind 를 알아보자!
    • JS)함수선언문, 함수 표현식 차이
    • javaScript AJAX 를 사용하는 이유
    KingBini
    KingBini
    github : https://github.com/kkssbbb

    티스토리툴바