Vue 請求傳公共參數的操作
我就廢話不多說了,大家還是直接看代碼吧~
// An highlighted block//http request攔截器axios.interceptors.request.use(config =>{ const token = window.sessionStorage.getItem(’Tk_token’) const user_id=window.sessionStorage.getItem(’Tk_user_id’) // config.data = JSON.stringify(config.data); // config.headers = { // ’Content-Type’:’application/x-www-form-urlencoded’ // } if(token){ config.params = {’token’:token,’user_id’:user_id} } console.log(config);return config;},err =>{return Promise.reject(err);})
補充知識:Vue聯合axios發送后臺post請求時的參數問題
開始用的是vue-resource,后來發現這個已經很久沒有更新了,作者已經停止更新了,而且就連作者也推薦用axios,那么我就用axios吧,改成axios之后,就出現了一個問題:參數問題。
怎么個參數問題呢?用vue-response來發送post請求的時候,傳入的參數到后臺是一個一個分開的,比如傳了參數
{ username:’name1’, password:’pwd1’}
就是很簡單的用戶名和密碼,vue-resource傳到后臺之后,后臺的接口方法參數是兩個,一個是username,一個是password,都可以分別取到;但是axios不同,axios到后臺之后,是一個map結構的對象,需要用@RequestBody Map map這種方式來獲取,然后從map中一個一個取出來,這樣也可以。但是有沒有辦法讓axios傳給后臺的參數也是一個一個的呢?當然有。
第一個方法就是URLSearchParams,用這個添加好參數,到后臺就是一個一個的,但是這個IE不支持。
還有一個辦法,就是qs,qs的話有兩種引入方式,一種就是用npm安裝好后,直接import,然后就可以用了;另一種就是在頁面直接引入qs.js,就是<script src=’js/qs.js’></script>這種方式,然后
注意了!
這里要注意了!
如果是import方式引入的,我們就用qs.stringify調用就好了,但是!??!
注意了!
如果是js文件引入的方式,用的Qs,不是qs,Q是大寫的Q,也就是Qs.stringify。
然后就可以了!
以上這篇Vue 請求傳公共參數的操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章:
