Axios 是一個基于 promise 的 HTTP 庫,廣泛用于瀏覽器和 node.js 中。以下是一些 Axios 常用的配置選項:
- url: 字符串,請求的服務器URL,是必填項。
- method: 請求方法,如 ‘get’, ‘post’, ‘put’, ‘delete’ 等,默認為 ‘get’。
- baseURL: 字符串,基礎URL,會自動添加到每個請求的URL前面,除非URL是絕對的。
- transformRequest: 函數數組,允許在請求發送到服務器之前對請求數據進行預處理。
- transformResponse: 函數數組,允許在響應數據傳遞給 then/catch 之前進行處理。
- headers: 對象,自定義請求頭信息,比如設置
Content-Type
為application/json
。 - params: 對象,用于 ‘get’ 請求的查詢參數,這些參數會被附加在URL后面。
- data: 對象/字符串,用于 ‘post’, ‘put’, ‘patch’ 等請求的請求體數據。
- timeout: 數值,設置請求超時時間,單位為毫秒。
- withCredentials: 布爾值,默認為
false
,表示跨域請求時是否攜帶cookie憑證。 - responseType: 字符串,設置響應的數據類型,如 ‘arraybuffer’, ‘blob’, ‘document’, ‘json’, ‘text’, ‘stream’,默認為 ‘json’。
- maxContentLength: 設置響應內容的最大值,單位為字節,超出此限制會拋出錯誤。
- validateStatus: 函數,允許自定義確定HTTP請求的成功狀態碼范圍,默認為
status >= 200 && status < 300
。 - xsrfCookieName: 字符串,用作 xsrf token 的值的cookie名稱,默認為 ‘XSRF-TOKEN’。
- xsrfHeaderName: 字符串,攜帶xsrf token值的http頭名稱,默認為 ‘X-XSRF-TOKEN’。
這些配置選項可以作為參數直接傳遞給 Axios 的請求方法,也可以在創建 Axios 實例時作為配置對象的一部分,以便在所有通過該實例發起的請求中共享這些配置。例如:
axios.get('/api/data', {params: {id: 123},headers: {'Authorization': 'Bearer your_token'}
});// 或者創建一個實例并設置默認配置
const instance = axios.create({baseURL: 'https://api.example.com',timeout: 1000,headers: {'X-Custom-Header': 'foobar'}
});instance.get('/data');
了解并熟練使用這些配置選項可以幫助你更好地控制請求的各個方面,以滿足不同的應用場景需求。