axios中get请求传参为数组/参数序列化

简介: qs 是一个增加了一些安全性的查询字符串解析和序列化字符串的库。
场景: vue项目中axios 中的$get 数组作为参数
使用:

1. 引入 : npm install qs

2. 在get方法封装的js中

使用axios的参数格式化paramsSerializer配置
qs.stringify 序列化方法

import request from './http.js'
import qs from 'qs';
// 封装get请求
// params={} 是设置默认值
export function get(url, params = {},headers) {
  // params.t = new Date().getTime(); // get方法加一个时间参数,解决ie下可能缓存问题
  return new Promise((resolve, reject) => {
    request({
      url: url,
      method: 'get',
      headers: {
        'Content-Type': 'application/json;chartset=UTF-8',
      },
      datatype: 'json',
      params: params,
      
      paramsSerializer: params => {    <=====参数格式化
        return qs.stringify(params, { indices: false })
      }
    })
      .then(res => {
        resolve(res.data)

      }).catch(err => {
      reject(err)
    })
  })
}

3 页面中使用

let body = {  codeList:[{},{} ]
               }
 this.$get(this.$main + "/cockpit",body,header)
        .then((res) => {

参考

你可能感兴趣的:(vue,vue.js)