色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

vue axios 引入qs

林雅南2年前7瀏覽0評論

在使用Vue時,你可能會需要使用axios進行數據請求,而axios默認情況下是將數據以JSON格式發布的。但如果你需要以application/x-www-form-urlencoded(表單數據)的方式發送數據請求時,就需要引入qs這個庫。

qs是一個將查詢字符串序列化/反序列化的庫,它可以將JSON轉換成表單數據,也可以將表單數據轉換成JSON。可以使用npm進行安裝:npm install qs。

在Vue項目中引入qs:

import qs from 'qs'

我們現在來看一下如何使用qs將數據序列化成表單數據。

axios.post('/api/login', qs.stringify({username: 'admin', password: '123456'}))
.then(res=>{
console.log(res)
})
.catch(err=>{
console.log(err)
})

在發送數據請求時,我們可以將數據對象作為qs.stringify()方法的參數,這個方法將數據對象轉換成表單數據,然后將數據以application/x-www-form-urlencoded的方式發布請求。數據請求完畢后,我們可以通過.then()獲取返回的數據或者通過.catch()獲取錯誤信息。

除了在post請求中使用qs,我們還可以在get請求中使用qs,在axios.get()請求時,將需要傳遞的參數對象作為qs.stringify()方法的參數傳遞即可。

axios.get('/api/user',{
params: qs.stringify({page: 1, size: 10})
})
.then(res=>{
console.log(res)
})
.catch(err=>{
console.log(err)
})

此時,我們的請求鏈接會變成/api/user?page=1&size=10。

另外需要注意的是,如果我們沒有引用qs,而直接在axios發送請求的時候將數據對象作為參數傳入,那么axios會自動將其轉換為JSON格式發送請求。

如果我們要將從服務器獲取到的表單數據轉換成JSON格式,可以使用qs.parse()方法將其轉化。

axios.get('/api/article')
.then(res=>{
const data = qs.parse(res.data) //將表單數據轉換成JSON格式
console.log(data)
})
.catch(err=>{
console.log(err)
})

除了以上介紹的功能,qs還有其他更多的方法,可以去了解一下。