需求展示
GET 傳參要求
customer-user/select-representatives/actionId?profileIds=xxx?profileIds=xxx?profileIds=xxx
如果選擇拼接字符串,瀏覽器只會解析到到第一個參數,後面因爲同名無法解析。
網上查到的方法都是說,把一樣的參數名變成一個數組像下面這樣:
let profileIds = ['xxxx','xxxx']
但是解析後又變成:
profileIds[]=xxx&profileIds[]=xxx
所以還是得想辦法解決啊。。。
解決方法
1.首先我們要安裝 qs,可以百度去了解下這個包,主要是做 url 序列化的轉譯和編譯的。npm安裝的qs模塊
npm insatall qa -s
2.配置axios參數序列化,把中括號等特殊字符序列化
// create an axios instance
const service = axios.create({
baseURL: process.env.VUE_APP_BASE_API, // api 的 base_url
timeout: 100000, // request timeout
// 配置axios參數序列化,把中括號等特殊字符序列化
paramsSerializer: (params) => qs.stringify(params, { indices: false }),
})
3.然後將上面參數變成數組後傳入就行