TIL 43|Axios 2|fetchメソッドとaxiosメソッド


  • reactionは効率的なUI実装のためのライブラリであるため、組み込みクラスは存在しない.
  • したがって、応答でAJAXを実装するには、JavaScriptビルトインオブジェクトXMLRequestを使用するか、他のHTTPクライアントを使用する必要があります.
  • axiosはHTTPクライアント・ライブラリでもあるので、axiosライブラリについて理解する必要があります.
  • axiosとFetch APIの比較

  • Fetch()body property、axiosdatapropertyを使用します.
  • FetchのurlはFetch()関数のパラメータとし、axiosはurlをoptionオブジェクトとする.
  • Fetchbody部分はJSON.stringify()である.
  • Fetch API

  • HTTPリクエスト機能の非同期Web APIは、JavaScript内蔵ライブラリです.
  • fetchメソッドが実行されると、promiseオブジェクトが返されます.
  • .thenメソッドはpromiseオブジェクトの組み込みメソッドです.
  • //fetch
    const url = 'http://localhost:3000/test';
    const option = {
    	method: 'POST',
      	header: {
        	'Accept' : 'application/json',
          	'Content-Type' : 'application/json';charset=UTP-8'
        },
      	body: JSON.stringify({
        	name: 'sewon',
          	age: 20
        })
      
    fetch(url, option)
    	.then(response => console.log(response))

    axios

    //axios
    const option = {
      url = 'http://localhost:3000/test'
      method: 'POST',
      header: {
        	'Accept' : 'application/json',
          	'Content-Type' : 'application/json';charset=UTP-8'
    },
      data: {
          	name: 'sewon',
          	age: 20
      }
    }
    
    axios(options)
    	.then(response => console.log(response))

    HTTP Methods


    GET

  • urlアドレスウィンドウにクエリーリストが追加されます
  • import axios from 'axios';
    
    axios.get('http://localhost:3030/yeony/user')
    	.then(response => console.log(response.data))
    	.catch(error => console.log(error))

    POST

  • urlアドレスウィンドウはクエリーリストを保持しないため、GETよりも安全です.
  • import axios from 'axios';
    
    axios.post('http://localhost:3030/yeony/user',
               {
                contact: 'Yeony',
                email: '[email protected]'
               },
               {
     			headers: {
                  'Content-type' : 'application/json',
                  'Accept' : 'application/json'
             	   }
    			}
    	.then(response => console.log(response.data))
    	.catch(error => console.log(error))

    DELETE

  • Deleteメソッドは、HTML FormタグがデフォルトでサポートしているHTTPメソッドではありません.
  • Deleteメソッドは、主にサーバ上のデータベースの内容を削除するために使用されるため、2番目のパラメータはまったく渡されません
  • import axios from 'axios';
    
    axios.delete('http://localhost:3030/yeony/user/30')
    	.then(function(res){
      		console.log(res);})
      	.catch(function(ex) {
    		throw new Error(ex)
    	}