vue3中使用qs库

qs是一个流行的查询参数序列化和解析库。可以将一个普通的object序列化成一个查询字符串,或者反过来将一个查询字符串解析成一个object,帮助我们查询字符串解析和序列化字符串。

使用

npm install qs or yarn add qs

//导入
import qs from 'qs'
//序列化 
config.data = qs.parse(config.data);

将对象转换为查询字符串

//将对象转换为查询字符串
const params = { name: 'John', age: 30 };
const queryString = qs.stringify(params);
console.log(queryString); // 输出: "name=John&age=30"

将查询字符串解析为对象

const queryString = 'name=John&age=30';
const params = qs.parse(queryString);
console.log(params); // 输出: { name: 'John', age: '30' }

axios中使用

  // 请求拦截器
  service.interceptors.request.use(
    (config: AxiosRequestConfig) => {
      const { method, data, headers } = config
      removePending(config)
      cancel.cancel_request && addPending(config)

      if (['post', 'put', 'delete'].includes(method as string)) {
        config.data = qs.parse(data) //序列化,将查询字符串解析为对象
      }
      return config
    },
    error => {
      message.error(error.data.error.message)
      return Promise.reject(error.data.error.message)
    }
  )
posted @ 2021-05-10 12:21  少年。  阅读(425)  评论(0编辑  收藏  举报