생활코딩

Coding Everybody

fetch API

토픽 생활코딩 > WEB > WEB2 - JavaScript > Ajax

수업소개

ajax를 구현하는 여러가지 기술이 있습니다. 우리 수업에서는 최신 기술인 fetch API를 이용할 것입니다. fetch API는 기존의 방식에 비해서 더 유연하고, 분명합니다.

 

 

 

fetch API 기본 사용법

소스코드

<!doctype html>
<html>
  <body>
    <article>

    </article>
    <input type="button" value="fetch" onclick="
      fetch('html').then(function(response){
        response.text().then(function(text){
          document.querySelector('article').innerHTML = text;
        })
      })
    ">
  </body>
</html>

 

 

 

fetch API의 요청과 응답

 

 

 

 fetch API - response 객체

소스코드

변경사항

<!doctype html>
<html>
  <body>
    <article>

    </article>
    <input type="button" value="fetch" onclick="
      /*
      fetch('html').then(function(response){
        response.text().then(function(text){
          document.querySelector('article').innerHTML = text;
        })
      })
      */
      //Asynchronous
      fetch('html').then(function(response){
        if(response.status == '404'){
          alert('Not found')
        }
      });
      console.log(1);
      console.log(2);
    ">
  </body>
</html>

댓글

댓글 본문
  1. 비전공자
    오전 11:00 2024-05-12
  2. 서우
    221014
  3. 당당
    2022.09.30
  4. crimsonKing
    여기서 부터 막히는게 있군요.
    ajax는 서버로 부터 css, html등을 다운받기 때문에 로컬서버가 있어야 한다는 얘기네요.
    즉 본인pc가 서버이여야 하기 때문에...
    1.초기에 소개한 200ok 크롬웹서버 또는 atom plug-in인 atom-live-server로 실행해서 fetch.html을 열어야하고
    2.css, html파일은 서버에서 다운 받는 파일이므로, 즉 여기서는 자기자신이 서버이므로 저 두 파일이 pc에 있어야 하는 거네요. 저 두 파일이 없다보니 왜 실패가 나는지 아리송...
    도움이 되시길
  5. melll
    2022.03.06 완료
  6. pmxsg
    2022.02.02
  7. chio
    20220131
  8. 아까그애
    2022-01-21 완료
  9. 소설가
    2021-12-27 완료
    고맙습니다.
    404 error 의미를 알게 되었네요.
  10. 오롯
    완료
  11. 차가운핫초코
    https://opentutorials.org......577
    구동할 수 있는 또 다른 방법입니다. 아마 위의 방법을 이용하는 것이 간편할 수 있어요
  12. 차가운핫초코
    실행되지 않는 분들 저도 아래 댓글보면서 깃허브에서 저장소 만들어서 해도 안되고 아파치로 하려다가도 잘 안돼서 vscode라고 atom같은 코딩 프로그램이 있는데 vscode에서 liveserver를 다운로드해서 이용하면 수업의 fetch api가 구동이 됩니다.
  13. 넘무
    2021.11.21 비동기로 실행되는 부분에서 로딩할때 뜨는 화면을 만들때 사용하면 되겠다는 생각을 했습니다.
  14. Koma Doodugi
    2021.10.27 완료
  15. 행달
    21.10.21 감사!
    너무 재밌습니다.!!
  16. inventorh
    2021.09.29 좋은강의 정말 감사드립니다
  17. For_Coding
    꿀잼! 이렇게 하나하나 몰랐던 것을 알게되니 재밌네요 이해하는데도 어렵지 않았습니다.
  18. shg7271
    210805
  19. 퐈루
    210804 저는 여기서 하차합니다.. 자바스크립트까진 어찌어찌 왔는데 이젠 구동도 안되고 무슨말인지 이제 모르겠어요 ㅠㅠ 학원을 가든 책을 보든 방법을 찾아야겠어요
  20. labis98
    20210719 completed.
  21. Yohanesty
    완료
  22. 별거
    2021.04.29 완료했습니다.
    점점 더 복잡해지고 있는 것 같습니다..
    그런데 포기하지 않고 끝까지 해보겠습니다.
    화이팅!
  23. 별거
    2021.04.29 완료했습니다. 와..
    404 Not Found

    이거 되게 간지나네요.
    파일이 없을때
    '404 Not Found'
    라는 글씨를 불러오는것도 가능하겠네요!
  24. 띨띨이
    안되시는분들은 최신 브라우저에서 보안때문에 fetch를 막고있어서 그런거에요. 자신의 컴퓨터에 있는 파일들만 막고있으니 전 시간에 배운 아파치를 이용해서 웹서버 상에서 불러오는 방식을 이용해보세요
  25. 단디
    완료
  26. 김우중
    감사합니다
  27. okokGGG
    전송이 안되시는 분들은 크롬으로 접속해 보세요
  28. mymie
    완료
  29. chimhyangmoo
    2021.02.06
  30. jeisyoon
    2021.01.29 수강
  31. 쿠킹호일
    21.01.28 완료
  32. 임주혁
    혹시 fetch가 안되시는 분은 깃허브로 저장소 만들어서 이용하시면 가능합니다
    https://opentutorials.org......891
  33. datsciseol
    210117
  34. 고니스타크
    2021 1일차
    fetch(filename).then(function(response))~
  35. 용용
    2번 esponse.status ===' 404' ('404'는 ' '때문에 문자임) 에서 === 3개를 써주게 되면 자료형까지 구분하여 비교하기 때문에
    ' ' 따옴표를 제외한 숫자 404만 esponse.status === 404 로 말씀대로 쓰시거나
    === 3개가 아닌 == 2개를 써주시면 값만 비교하기 때문에 따로 오류 안 날 거예요
    대화보기
    • 생활둘기
      2020 12 21
    • kkn1125
      20.12.20 완료~!
    • 들샘
      맨 처음 영상에서 fetch('css') 를 했는데 왜 안될까.. 싶었는데, fetch('css.txt')라고 주소창 뒤에 뜨는 그대로 적어줘야 가능하더라고요.

      고1 학생인데 이고잉님이 항상 도움이 되고 있어요! 감사합니다!!!
    • Yeonny
      2020.11.11 Done.
    • 라온
      이번 강의도 너무 잘 듣고 있습니다. 감사합니다.

      혹시나 ajax부터 보시는 분은
      1. 다운받은 소스에 css, html이 없으니 만들어주시면 되고
      2. response.status ==='404' 로 하면 script error가 나서 alert이 뜨지 않는데, 404 로 숫자로 비교하셔야 됩니다.
    • Sunny
      2020.11.02.MON.
    • 웹짱
      2020.10.26 responseQWE객체, 404 = notpound
    • yulrinam
      201013 시청완료 감사합니다 :)
    • 김광래
      status 값이 크롬에서 봤을때 302가 뜨는데 404.html을 자동으로 송신하네요
      저렇게 적용했을 때 302값을 if 로 걸거나 404를 if로 걸어도 응답하지 않아
      기존에 파일이 있는걸 적용해서 if를 200으로 거니 반응을 하네요.
      웹서버를 설치안하고 써서 그런것인지 파일이 있다가 없어져서 그런건지 모르겠으나(쿠키는 삭제해봤으니 아닌것같고)
      안되는 부분이 이렇게 있다는걸 적고갑니다만
      원리만 알면 되는부분이기때문에 넘어갑니다.
    • 허우룩
      2020.09.06
    • HyeonHui Jeong
      9/3
    • 이상원
      fetch해서 받아오는 게 response 객체거든요 text로 변환하든지 json으로 변환하든지 해야 저희가 쓰기 좋아요.
      대화보기
      • 김희선
        localhost 작동이 않됩니다
        127...이것두 해보구
        인터넷에서 hosts피일을 바꾸라해서
        그것두 해보구
        뭘해두 않되네요
        나중에 hosts 파일 원상태로하려니 또 무슨 권한이 안된다하구...........
        점점 꼬여만 갑니다
        해결 방법 좀 부탁 드립니다
        e-mail : ksds@naver.com
        좋은 강의 계속 보게해 주셔서 감사합니다
      • dongmi95
        20.07.25완료
      • pupu
        2020/07/16 완료