๐Ÿ‘จโ€๐Ÿ’ป
Hamin TIL
  • Today I Learned ๐Ÿง‘๐Ÿปโ€๐Ÿ’ป
  • ํšŒ๊ณ 
  • git
    • git_basics
      • Git 101
      • Git branch
      • Git_ignore
    • Git Book
    • ์šฐ์•„ํ•œํ˜•์ œ๋“ค
    • pull_request
  • db
    • DA
      • ๋ฐ์ดํ„ฐํ‘œ์ค€ํ™”
      • ๋ฐ์ดํ„ฐ_์š”๊ฑด๋ถ„์„
      • ์ „์‚ฌ์•„ํ‚คํ…์ฒ˜_์ดํ•ด
      • ๋ฐ์ดํ„ฐ๋ชจ๋ธ๋ง
    • SQL
      • SQL๊ธฐ๋ณธ๋ฐํ™œ์šฉ
        • SQLํ™œ์šฉ
          • ์ ˆ์ฐจํ˜•SQL
          • ๊ณ„์ธตํ˜•์งˆ์˜์™€์…€ํ”„์กฐ์ธ
          • DCL
          • ๊ทธ๋ฃนํ•จ์ˆ˜
          • ์œˆ๋„์šฐํ•จ์ˆ˜
          • ํ‘œ์ค€์กฐ์ธ
          • ์ง‘ํ•ฉ์—ฐ์‚ฐ์ž
          • ์„œ๋ธŒ์ฟผ๋ฆฌ
        • SQL๊ณ ๊ธ‰ํ™œ์šฉ๋ฐํŠœ๋‹
          • ์˜ตํ‹ฐ๋งˆ์ด์ €์™€์‹คํ–‰๊ณ„ํš
          • ์กฐ์ธ์ˆ˜ํ–‰์›๋ฆฌ
          • ์ธ๋ฑ์Šค๊ธฐ๋ณธ
        • SQL๊ธฐ๋ณธ
          • ํ•จ์ˆ˜
          • ๊ด€๊ณ„ํ˜•๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐœ์š”
          • GROUPBY,HAVING์ ˆ
          • DDL
          • ์กฐ์ธ
          • ORDERBY์ ˆ
          • DML
          • WHERE์ ˆ
          • TCL
      • ๋ฐ์ดํ„ฐ๋ชจ๋ธ๋ง์˜์ดํ•ด
        • ๋ฐ์ดํ„ฐ๋ชจ๋ธ๊ณผ์„ฑ๋Šฅ
          • ์ •๊ทœํ™”์˜ ์„ฑ๋Šฅ
          • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ตฌ์กฐ์™€์„ฑ๋Šฅ
          • ๋ถ„์‚ฐ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€์„ฑ๋Šฅ
          • ๋Œ€๋Ÿ‰ ๋ฐ์ดํ„ฐ์— ๋”ฐ๋ฅธ ์„ฑ๋Šฅ
          • ๋ฐ˜์ •๊ทœํ™”์™€ ์„ฑ๋Šฅ
          • ์„ฑ๋Šฅ๋ฐ์ดํ„ฐ๋ชจ๋ธ๋ง์˜ ๊ฐœ์š”
        • ๋ฐ์ดํ„ฐ๋ชจ๋ธ๋ง์˜์ดํ•ด
          • ์‹๋ณ„์ž
          • ์†์„ฑ
          • ๊ด€๊ณ„
          • ์—”ํ„ฐํ‹ฐ
          • ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ์ดํ•ด
    • DB
  • trouble
    • libomp
    • After macOS update, git command
    • system
  • algorithm
    • BOJ
      • ํ‰๋ฒ”ํ•œ ๋ฐฐ๋‚ญ
      • 17825-์ฃผ์‚ฌ์œ„์œท๋†€์ด
      • 14888-์—ฐ์‚ฐ์ž๋ผ์›Œ๋„ฃ๊ธฐ
      • 14503-๋กœ๋ด‡์ฒญ์†Œ๊ธฐ
      • 10157
      • 14502-์—ฐ๊ตฌ์†Œ
      • 18428-๊ฐ์‹œํ”ผํ•˜๊ธฐ
      • 14501
      • 18405-๊ฒฝ์Ÿ์ ์ „์—ผ
      • 14499-์ฃผ์‚ฌ์œ„๊ตด๋ฆฌ๊ธฐ
      • 16236-์•„๊ธฐ์ƒ์–ด
      • 15686-์น˜ํ‚จ๋ฐฐ๋‹ฌ
      • 19237-์–ด๋ฅธ์ƒ์–ด
      • 16234-์ธ๊ตฌ์ด๋™
      • 19236-์ฒญ์†Œ๋…„์ƒ์–ด
      • 1339-๋‹จ์–ด์ˆ˜ํ•™
      • ๋ฆฌ๋ชจ์ฝ˜
      • 18353 - ๋ณ‘์‚ฌ๋ฐฐ์น˜ํ•˜๊ธฐ
      • 18352-ํŠน์ •๊ฑฐ๋ฆฌ์˜๋„์‹œ์ฐพ๊ธฐ
      • 12100-2048
      • N-Queen
      • 3190-๋ฑ€
      • 11724
    • programmers
      • ์˜์–ด๋๋ง์ž‡๊ธฐ
      • ๊ธฐ๋‘ฅ๊ณผ ๋ณด
      • H - index
      • ์ •์ˆ˜์‚ผ๊ฐํ˜•
      • 2018 KAKAO BLIND RECRUITMENT - ์••์ถ•
      • ์‚ผ๊ฐ๋‹ฌํŒฝ์ด
      • ๊ฑฐ์Šค๋ฆ„๋ˆ
      • [1์ฐจ] ์…”ํ‹€๋ฒ„์Šค
    • data_structure
      • Queue
      • Graph
      • Stack
      • Hash table
    • implementation
      • dynamic_programming
      • sort
      • Least common multiple
      • dfs
      • dijkstra
      • bfs
      • binary_search
    • aps
      • notes
    • modules
  • python
    • requirements.txt
    • Jupyter notebook
    • 00_๋“ค์–ด๊ฐ€๊ธฐ ์ „์—
    • Python Virtual Environment
    • Python Syntax
  • django
    • Class Based View in Django
    • Model in Django
    • URL Name
    • Form and ModelForm
    • Authentication
    • Tips & Tricks
    • Optimization
    • Request and Response Objects
    • Templates
    • Variable Routing & DTL
    • Django REST API with JSON web token (JWT)
    • Intro to Django
    • Django REST Framework
    • Wrap-up
    • Image Upload
  • javascript
    • Ajax (Asynchronous Javascript And XML)
    • Document Object Model
    • Java Script 101
    • ES (ECMAscript)
  • java
    • Java 101
  • aws
    • beginning_cloud_computing_with_aws
      • 02 AWS ์ฃผ์š” ์„œ๋น„์Šค ์ดํ•ดํ•˜๊ธฐ
      • 01 ์•„๋งˆ์กด ์›น ์„œ๋น„์Šค Cloud ๊ฐœ์š”
  • programming
    • Communication
    • CS_์šฉ์–ด์‚ฌ์ „
  • vue.js
    • 01_Vue.js_Intro
  • data_science
    • 01_๋ฐ์ดํ„ฐ์—์„œ์ธ์‚ฌ์ดํŠธ๋ฐœ๊ฒฌํ•˜๊ธฐ
    • pandas
    • 04_๋ฐ์ดํ„ฐ๋ถ„๋ฅ˜๋ชจ๋ธ
    • 02_ํ…์ŠคํŠธ๋งˆ์ด๋‹์ฒซ๊ฑธ์Œ
    • 05_์ข…ํ•ฉ์˜ˆ์ œ
    • 03_๋ฏธ๋ž˜๋ฅผ์˜ˆ์ธกํ•˜๋Š”๋ฐ์ดํ„ฐ๋ถ„์„
    • Statistics
      • ๋ชจ์ˆ˜์™€ ์ถ”์ •๋Ÿ‰
    • ํ†ต๊ณ„ํ•™๋…ธํŠธ
  • linux
    • Linux Commands
  • ide
    • VScode
    • Pycharm
  • html,css
    • HTML 101
    • CSS 101
  • colab
    • colab_101
  • ์˜์‚ฌ๊ฒฐ์ •๋‚˜๋ฌด๋ฐ๋ชจํ˜•๋น„๊ต
Powered by GitBook
On this page

Was this helpful?

  1. javascript

Ajax (Asynchronous Javascript And XML)

PreviousjavascriptNextDocument Object Model

Last updated 4 years ago

Was this helpful?

๋น„๋™๊ธฐ์ ์ธ ์›น ์ œ์ž‘์„ ์œ„ํ•ด ๊ธฐ์ˆ ๋“ค์˜ ์กฐํ•ฉ์„ ์ด์šฉํ•˜๋Š” ์›น๊ฐœ๋ฐœ ๊ธฐ๋ฒ•.

techs

  • HTML & CSS

    • DOM & JavaScript

    • XML & XSLT ( XML ๋ฌธ์„œ๋ฅผ ๋‹ค๋ฅธ XML ๋ฌธ์„œ๋กœ ๋ณ€ํ™˜ํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•˜๋Š” XML ๊ธฐ๋ฐ˜ ์–ธ์–ด /

      ์›๋ณธ XML ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒˆ๋กœ์šด XML ์ƒ์„ฑ ) & XHR => ์›น ์„œ๋ฒ„์™€ ๋น„๋™๊ธฐ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ•˜๊ณ  ์กฐ์ž‘ํ•จ

  • cdn

    • vue js cdn ๊ฒ€์ƒ‰ - ๋ณต์‚ฌ ํ›„ ๊ธฐ์ž…

  • scrollmonitor

    <script src="<https://cdnjs.cloudflare.com/ajax/libs/scrollmonitor/1.2.0/scrollMonitor.js>" ></script>
  • Axios

    Promise ๊ธฐ๋ฐ˜ HTTP ํ†ต์‹  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ. ๋ฌธ์„œํ™”๊ฐ€ ์ž˜๋˜์–ด ์žˆ๊ณ  API๊ฐ€ ๋‹ค์–‘ํ•จ.

    <script src="<https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js>"></script>
    <div id="app">
      <button v-on:click="fetchData">get data</button>
    </div>
    new Vue({
      el: '#app',
      methods: {
        fetchData: function() {
          axios.get('<https://jsonplaceholder.typicode.com/users/>')
            .then(function(response) {
              console.log(response);
            })
            .catch(function(error) {
              console.log(error);
            });
        }
      }
    })

    axios.get์—์„œ then์˜ ์ฝœ๋ฐฑํ•จ์ˆ˜์˜ ์ธ์ž๋Š” getํ•ด์„œ ์–ป์–ด์˜จ ๊ฒƒ์ด ๋“ค์–ด๊ฐ„๋‹ค.

  • Promise => ์„ฑ๊ณต/์‹คํŒจ

    ๋‹น์žฅ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๊ณผ "์•„๋‹Œ ๊ฒƒ"

    • ๋ถˆํ™•์‹คํ•˜๊ณ  ๊ธฐ๋‹ค๋ ค์•ผํ•˜๋Š” ์ž‘์—…(AJAX, axios)์„ ๋น„๋™๊ธฐ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ + ๊ทธ๋Ÿฌํ•œ ์ž‘์—…๋งŒ์„ ์œ„ํ•จ

    • method: ์™ธ๋ถ€์š”์ฒญ(XHR), ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ฒƒ(settimeout)

  • ex of ๋น„๋™๊ธฐ์  ์ฒ˜๋ฆฌ

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <body>
        <script>
            const xhr = new XMLHttpRequest()
            xhr.open('GET', 'https: koreanjs~~~')
            xhr.send() //์•„์ง ๋๋‚˜์ง€ ์•Š
    
            const res = xhr.response
            console.log('RES:', res)
    
        </script>
    </body>
    </html>
    > xhr.response
    < "{"id":1, "title": "์ •๋‹น์˜ ๋ชฉ์ ์ด๋‚˜ ~~~"}"
    
    > res === ""
    < true

    : ํŒŒ์ด์ฌ์€ ์ธํ„ฐํ”„๋ฆฌํ„ฐ์–ธ์–ด๋กœ ๋ธ”๋Ÿญํ‚นํ•˜๋ฉด์„œ ๋„˜์–ด๊ฐ€๊ณ , JS๋„ ๊ทธ๋ ‡์ง€๋งŒ, DOM์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ช‡๋ช‡ ๋งค์„œ๋“œ๊ฐ€ ์ฝ”๋“œ ํ•˜๋‚˜ํ•˜๋‚˜ ์•ˆ ๊ธฐ๋‹ค๋ ค์ฃผ๊ณ  ๋„˜์–ด๊ฐ.

  • caution

    • ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ์“ด๋‹ค => non-blockingํ•œ ๋น„๋™๊ธฐ ์ž‘์—…ํ•œ๋‹ค (X)

    • non - blocking ํ•œ ๋น„๋™๊ธฐ ์ž‘์—…์„ ํ•œ๋‹ค. => ์ฝœ๋ฐฑ์„ ์“ธ ์ˆ˜ ๋ฐ–์— ์—†๋„๋ก ์„ค๊ณ„๋˜์–ด ์žˆ๋‹ค

  • XML (Extensible Markup Language)

    • ๊ตฌ์กฐ์ ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ์œ„ํ•œ ๊ฒƒ์ด๋‹ค.

    • ๋‹ค์†Œ ๊ฐ™์ด ๋ณด์ธ๋‹ค.

    • ํ…์ŠคํŠธ์ด๋ฉฐ, ์ฝํžˆ๋Š” ๊ฒƒ๋งŒ์„ ๋œปํ•˜์ง€ ์•Š๋Š”๋‹ค.

    • ํฌ๊ธฐ๊ฐ€ ์ปค์ง„๋‹ค.

    • ๊ธฐ์ˆ ์˜ ์ด๋‹ค.

    • ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ์ด ์•„๋‹ˆ๋ผ ๋ฐœ์ „ํ•œ ๊ธฐ์ˆ ์ด๋‹ค.

    • ์—์„œ ๋กœ ์ด๋Œ์—ˆ๋‹ค.

    • ๋ชจ๋“ˆ์‹์ด๋‹ค.

    • ์™€ ์˜ ํ† ๋Œ€์ด๋‹ค.

    • ์ œ์•ฝ์ด ์—†์œผ๋ฉฐ, ์ด ๋…๋ฆฝ์ ์ด๊ณ , ๋งŽ์€ ์ง€์›์ด ์žˆ๋‹ค.

  • XHR (XMLHttp request)

    ๋ธŒ๋ผ์šฐ์ €์™€ ์„œ๋ฒ„ ๊ฐ„ "๋ฉ”์†Œ๋“œ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†ก"ํ•˜๋Š” "๊ฐ์ฒด ํ˜•ํƒœ์˜" API

    Ajax ๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š”๊ฑด XHR๋ฐ–์— ์—†๋Š”๋ฐ, ์˜ˆ๋ฅผ ์‰ฝ๊ฒŒ ์“ธ ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” axios

    • ex) ์ž๋™์™„์„ฑ

MVVM ํŒจํ„ด

ex) ํŽ˜๋ถ์ด๋‚˜ ๊ตฌ๊ธ€๋งต์—์„œ ํ•œ ํŽ˜์ด์ง€ ์•ˆ์—์„œ ์š”์ฒญ์ด ์ผ์–ด๋‚จ.

JS๋Š” ์ž‘์—…ํ™˜๊ฒฝ์ธ Document(tab)์ด ์‹ฑ๊ธ€์Šค๋ ˆ๋“œ์ด๊ธฐ ๋•Œ๋ฌธ์—, ๋น„๋™๊ธฐ(์–ด๋–ค ์ž‘์—…์„์ด ์ข…๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ , ๋‹ค๋ฅธ ์ž‘์—…์„ ํ•˜๊ณ  ์žˆ๋‹ค๊ฐ€, ์š”์ฒญํ•œ ์ž‘์—…์ด ์ข…๋ฃŒ๋˜๋ฉด, ๊ทธ์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์ž‘์—…์„ ์ด์–ด์„œ ์ˆ˜ํ–‰) ์š”์ฒญ์„ ๋ณด๋‚ธ๋‹ค.

HTML
์ง‘ํ•ฉ
HTML
XHTML
RDF
์‹œ๋งจํ‹ฑ ์›น
๋ผ์ด์„ ์Šค
ํ”Œ๋žซํผ