🥝FANMR.CN热爱,追求
Axios表单提交

描述

Axios是Vue官方推荐的HTTP请求工具,封装了所有的请求方式和相关的功能,如拦截器等配置,但是默认发送的头部是application/json,form-data提交需要在请求中进行配置

实现

使用Qs在拦截器中进行统一的数据格式转换

npm install qs

在拦截器中配置

import Qs from 'qs'

// axios配置
const $axios = axios.create({
  baseURL: api,
  timeout: 1000 * 30, // 请求超时,秒
  // 携带cookie
  withCredentials: true,
  headers: {'content-type': 'application/x-www-form-urlencoded'} // 请求数据类型 默认application/json
})

// 请求拦截器
$axios.interceptors.request.use(config => {
  config.data = Qs.stringify(config.data)
  return config;
}, function (error) {
  // 请求错误的执行
  return Promise.reject(error);
});

Vue.prototype.axios = $axios