[JavaScript] AJAX

JIIJIIJ·2023년 4월 26일
1

JavaScript

목록 보기
6/23
post-thumbnail

AJAX

  • Asynchronous JavaScript And XML (비동기식 JavaScript와 XML)
  • 화면 전체를 새로고침 하지 않아도 서버로 요청을 보내고, 데이터를 받아 화면의 일부분만 업데이트가 가능하게 해준다.
  • 이러한 '비동기 통신 웹 개발 기술'을 AJAX라고 하며, 비동기 웹 통신을 위한 라이브러리 중 하나가 Axios이다.
  • 특징
    • 페이지 전체를 새로고침(reload)을 하지 않고서도 수행되는 '비동기성'
    • 서버의 응답에 따라 전체 페이지가 아닌 일부분만을 업데이트 할 수 있다.

AJAX 비동기 적용하기

이전에 Django를 공부하며 만들었던 프로젝트로 실습 할 예정입니다.

  • 각각의 템플릿마다 script 코드를 작성하기 위해 base.html에 block tag 작성
  • Follow(팔로우기능)
    • follow_views
    • follow_views
    • follow_profile_html_form
    • follow_html_form
    • follow_profile_html_script
    • follow_html_하단 follow_html_하단2

  • Like(좋아요기능)
    • 좋아요 비동기 적용은 팔로우와 동일한 흐름 + forEach()&querySelectorAll()
      index 페이지 각 게시글에 좋아요 버튼이 있기 때문에
    • like views
    • like_view
    • like_index_html_form
    • like_index_form
    • like_index_html_script
    • like_index_script

용어설명

  • data-* attributes
    • 사용자 지정 데이터 특성을 만들어 임의의 데이터를 HTML과 DOM사이에서 교환 할 수 있는 방법
    • data-test-value라는 이름의 특성을 지정했다면, JavaScript에서는 element.dataset.testValue로 접근할 수 있다.
    • data-* attributes yunsungyang-omc data 예시

    • XHR(XMLHttpRequest)
      • AJAX 요청을 생성하는 JavaScript API
      • XHR의 메서드로 브라우저와 서버 간 네트워크 요청을 전송할 수 있다.
      • Axios는 손쉽게 XHR을 보내고 응답 결과를 Promise객체로 반환해주는 라이브러리이다.

profile
다크모드가 보기 좋아요

0개의 댓글