为什么传进去一个object,axios会在ajax请求中转化成form data?

发布于 2022-09-04 20:29:22 字数 2232 浏览 8 评论 0

config.js

/**
 * Created by root on 2017/4/22.
 **/
import Qs from 'qs'
export default {
  // 请求方法同上
  method: 'post',

  // 基础url前缀
  baseURL: 'http://10.10.252.252:8080/api/dm/',

  // 拦截处理请求数据
  transformRequest: [function (data) {
    data = Qs.stringify(data);
    return data;
  }],

  // 拦截处理响应数据
  transformResponse: [function (data) {
    return data;
  }],

  // 请求头信息
  headers: {

  },

  //post参数,使用axios.post(url,{},config);如果没有额外的也必须要用一个空对象,否则会报错
  data:{

  },

  //设置超时时间
  timeout: 1000,

  // 携带凭证
  withCredentials: true,

  //返回数据类型
  responseType: 'json'
}

api.js

/**
 * Created by root on 2017/4/22. api.js
 **/
import router from 'src/router'
import axios from 'axios'
import config from './config'
import { Message } from 'element-ui';

class API {
  post(params) {
    config.data = params.data
    return axios.post(params.url,config.data,config)
  }
  showMsg(type,msg){
    Message({
      type:type,
      message:msg
    })
  }
}

const api = new API()

// 请求拦截
axios.interceptors.request.use(function (config) {
  return config;
}, function (error) {
  console.log(error)
  return Promise.reject(error);
});

// 响应拦截
axios.interceptors.response.use(function (response) {
  let data = response.data
  // 请求不成功
  if(data.status !== 0){
    api.showMsg('info',data.msg)
  }
  // 会话超时,返回登陆页
  if(data.need_login === 1){
    router.replace('login')
  }
  return response;
}, function (error) {
  console.log(error)
  return Promise.reject(error)
});

export default API;

login请求

data() {
  return {
    logoSrc:logoSrc,
    loginData:{
      opr:'login',
      data:{
        user_name:'',
        psw:''
      }
    }
  }
},
login:function(){
    let self = this
    let params = {
      url:'login.do',
      data:this.loginData
    }
    api.post(params).then(function (response) {
      var data = response.data
      if(data.status === 0){
        api.showMsg('success',data.msg)
      }
    }).catch(function () {

    });
  }

图片描述

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

尬尬 2022-09-11 20:29:22

你的Qs.stringify(data)将数据转换了

参考:https://www.npmjs.com/package/qs

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文