axios是一個基于Promise的HTTP客戶端,用于發送AJAX請求。在vue項目中,使用axios可以快速方便地與后端交互數據,而本文將主要介紹axios中常用的參數。
axios({ method: 'get', url: '/user/12345', params: { firstName: 'John', lastName: 'Doe' } });
params參數是一個可選的對象,通常用于GET請求,在請求URL后面添加查詢參數。在上述代碼中,請求的URL將會變成"/user/12345?firstName=John&lastName=Doe"。
axios({ method: 'post', url: '/user', data: { firstName: 'John', lastName: 'Doe' } });
data參數是一個可選的對象,通常用于POST請求,在請求體(body)中添加請求參數。在上述的代碼中,請求體(body)將會包含一個json數據,其中包含一個firstName和一個lastName字段。
axios({ method: 'post', url: '/user', data: { firstName: 'John', lastName: 'Doe' }, headers: { 'Content-Type': 'application/json' } });
headers參數是一個可選的對象,通常用于設置請求頭。在上述的代碼中,請求頭將會包含一個Content-Type字段,值為'application/json'。
axios({ method: 'post', url: '/user', data: { firstName: 'John', lastName: 'Doe' }, transformRequest: [(data, headers) =>{ // 修改請求數據 return JSON.stringify(data); }], transformResponse: [(data) =>{ // 修改響應數據 return JSON.parse(data); }] });
transformRequest參數是一個可選的函數或一個數組,通常用于修改請求數據。在上述的代碼中,攔截器將會把請求數據從JSON對象轉換為字符串。同理,transformResponse參數也是一個可選的函數或一個數組,通常用于修改響應數據。
axios({ method: 'post', url: '/user', auth: { username: 'janedoe', password: 's00pers3cret' } });
auth參數是一個可選的對象,通常用于設置HTTP基本認證。在上述的代碼中,請求會帶有一個Authorization頭,值為'Basic amFuZWRvZTpzMDBwZXJzM2NyZXR'。