axios.js 使用


什么是 axios?

Axios 是一個基於 promise 的 HTTP 庫,可以用在瀏覽器和 node.js 中。

特性

  • 從瀏覽器中創建 XMLHttpRequests

  • 從 node.js 創建 http 請求

  • 支持 Promise API

  • 攔截請求和響應

  • 轉換請求數據和響應數據

  • 取消請求

  • 自動轉換 JSON 數據

  • 客戶端支持防御 XSRF

發送表單數據

默認情況下,axios將JavaScript對象序列化為JSON。 要以application / x-www-form-urlencoded格式發送數據,您可以使用以下選項之一。

期待格式:key1=value1&key2=value2...

默認格式:{kye1:avlue1,key2:value2}

瀏覽器腳本中

  • 在瀏覽器中,您可以使用URLSearchParams API,如下所示:
const params = new URLSearchParams();
params.append('param1', 'value1');
params.append('param2', 'value2');
axios.post('/foo', params);

請注意,所有瀏覽器都不支持URLSearchParams(請參閱caniuse.com),但可以使用polyfill(確保填充全局環境)。

使用qs庫編碼數據

const qs = require('qs');
axios.post('/foo', qs.stringify({ 'bar': 123 }));

顯式地設置響應頭

import qs from 'qs';
const data = { 'bar': 123 };
const options = {
  method: 'POST',
  headers: { 'content-type': 'application/x-www-form-urlencoded' },
  data: qs.stringify(data),
  url,
};
axios(options);

序列化

  • 將object對象序列化為 application / x-www-form-urlencoded格式字符串發送
axios.post('http://127.0.0.1:5000/api/addhero',$('#form').serialize()).then()

接收非表單數據(Json)

  • 在node.js中,您可以使用querystring模塊,如下所示:
const querystring = require('querystring');
axios.post('http://something.com/', querystring.stringify({ foo: 'bar' }));

或者,也可以使用qs庫。

部分內容摘自axios中文文檔


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM