axios跨域post请求中,后台把整个body对象当成了请求参数的键

问题描述

  参考:axios跨域请求的数据,后台获取到的对象把整个对象当成了键值

解决方法

方法一:将body中的请求参数放到url上

import axios from 'axios'

let ajax = axios.create();

// http request 拦截器
ajax.interceptors.request.use(
    config => {
if(config.method === 'post'){ config.params = config.data; } return config; }, err => { return Promise.reject(err) } ); export default ajax

方法二:安装qs,对body请求参数进行序列化

import axios from 'axios'
import qs from "qs";

let ajax = axios.create();

// http request 拦截器
ajax.interceptors.request.use(
    config => {
        if(config.method  === 'post'){
            config.headers['Content-Type'] = 'application/x-www-form-urlencoded';
            config.data = qs.stringify(config.data);
        }
        return config;
    },
    err => {
        return Promise.reject(err);
    }
);

export default ajax;
原文地址:https://www.cnblogs.com/dream0-0/p/15379005.html