axios常見傳參方式

1:get請求javascript

通常發送請求是這麼寫java

axios.get('/user?id=12345&name=user')
.then(function (res) {
    console.log(res);
}).catch(function (err) {
    console.log(err);
});

可是爲了方便全局統一調用封裝的axiosios

axios.get('/user', {  //params參數必寫 , 若是沒有參數傳{}也能夠
    params: {  
       id: 12345,
       name: user
    }
})
.then(function (res) {
    console.log(res);
})
.catch(function (err) {
    console.log(err);
});

2.post/put/patch請求 npm

(1) 傳參格式爲 formData json

(全局請求頭:'Content-Type'= 'application/x-www-form-urlencoded')axios

(request的Header:'Content-Type'= 'multipart/form-data')瀏覽器

var formData=new FormData();
formData.append('user',123456);
formData.append('pass',12345678);
 
axios.post("/notice",formData)
     .then((res) => {return res})
     .catch((err) => {return err})
 

(2) 傳參格式爲 query 形式  app

(全局請求頭:'Content-Type'= 'application/x-www-form-urlencoded')post

(request的Header:'Content-Type'= 'application/x-www-form-urlencoded')this

第一種狀況:使用$qs.stringify

import Qs from 'qs'   //引入方式
Vue.prototype.$qs = Qs  //全局加載
this.$qs.stringify(data);  //使用方式
this.$qs.parse(data);  //使用方式
 
var readyData=this.$qs.stringify({
    id:1234,
    name:user
});
axios.post("/notice",readyData)
     .then((res) => {return res})
     .catch((err) => {return err})

更多qs功能參考:https://www.npmjs.com/package/qs

第二種狀況:使用URLSearchParams

在瀏覽器中,您可使用URLSearchParams API,以下所示:

var params = new URLSearchParams();
params.append('param1', 'value1');
params.append('param2', 'value2');
axios.post('/foo', params);

注意:全部瀏覽器都不支持URLSearchParams,可是有一個polyfill可用(確保polyfill全局環境)。

(3) 傳參格式爲 raw (JSON格式) 

  第一種狀況: axios將JavaScript對象序列化爲JSON

(全局請求頭:'Content-Type'= 'application/x-www-form-urlencoded')

(request的Header:'Content-Type'= 'application/json;charset=UTF-8')

var readyData={
    id:1234,
    name:user
};
axios.post("/notice",readyData)
     .then((res) => {return res})
     .catch((err) => {return err})

  第二種狀況:

(全局請求頭:‘Content-Type'= 'application/json;charset=UTF-8')

(request的Header:‘Content-Type'= 'application/json;charset=UTF-8')

var readyData=JSON.stringify({
    id:1234,
    name:user
});
axios.post("/notice",readyData)
     .then((res) => {return res})
     .catch((err) => {return err})
相關文章
相關標籤/搜索