【Vue】axios post提交请求转为form data

axios.js

import axios from ‘axios‘;
import qs from ‘qs‘;

// axios 配置
axios.defaults.timeout = 8000;
//配置请求头
// axios.defaults.headers = {‘Content-Type‘: ‘application/json;charset=UTF-8‘};
axios.defaults.headers = {‘Content-Type‘: ‘application/x-www-form-urlencoded;charset=UTF-8‘};
//axios.defaults.baseURL = LINKS.BASE;
// axios.defaults.baseURL = getBaseUrl(window.location.href);

//POST传参序列化(添加请求拦截器)
axios.interceptors.request.use(
    config => {

        // config.headers.Authorization = ‘Bearer eyJhbGciOiJIUzUxMiJ9‘;
        if (config.method  === ‘post‘) {
            config.data = qs.stringify(config.data);
        }
        return config;
    },
    error =>{
        return Promise.reject(error);
    }
);

//返回状态判断(添加响应拦截器)
axios.interceptors.response.use(
    res =>{
        //对响应数据做些事
        if (!res.data.success) {
            return Promise.resolve(res);
        }
        return res;
    },
    error => {
        return Promise.reject(error);
    }
);

export default axios;

原文地址:https://www.cnblogs.com/jxd283465/p/11615166.html

时间: 2024-08-30 05:21:03

【Vue】axios post提交请求转为form data的相关文章

解决vue axios跨域请求发送两次问题

问题: vue axios跨域请求,在Request Headers加Authorization传递Token时,发现统一请求触发了两次,第一次是Request Method: OPTIONS请求. 原因: 跨域请求时,浏览器会首先使用OPTIONS方法发起一个预请求,判断接口是否能够正常通讯.如果通讯异常,则不会发送真正的请求,如果测试通讯正常,则开始真正的请求. 解决方法: 后台:判断请求方式是OPTIONS,则不处理: 预请求 发送真正请求  PHP解决方法 class Common ex

Asp.net MVC Vue Axios无刷新请求数据和响应数据

Model层Region.cs using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace WebApplication1.Models { public class Region { public int Id { get; set; } public string City { get; set; } } } Controller using System; us

ajax请求中form data与request payload之间的区别

HTTP请求过程中,get请求:表单参数以name=value&name1=value1的形式附到url的后面:  post请求:表单参数是在请求体中,也是name=value&name1=value1的形式在请求体中. POST表单请求提交时,使用的Content-Type是application/x-www-form-urlencoded,而使用原生AJAX的POST请求如果不指定请求头RequestHeader,默认使用的Content-Type是text/plain;charset

Vue axios发送Http请求

axios 1.cnpm install axios --save 2.在vue文件中引入,import Axios from 'axios' 3.使用,Axios.get(url).then((res)=>{}).catch((err)=>{}) <template> <div id="app"> <div v-html="htmlValue"></div> </div> </templ

springboot vue axios 跨域请求

一个简单的例子 在vue工程中,安装axios npm install axios src/main.js 配置如下 import axios from 'axios' Vue.prototype.$axios = axios Vue.config.productionTip = false axios.defaults.withCredentials = false//这个默认即为false,如果改为true,可以传递session信息,后端要做相应修改来放行,本例中我们用false简单测试

axios异步提交表单数据的不同形式

踩坑Axios提交form表单几种格式 前后端分离的开发前后端, 前端使用的vue,后端的安全模块使用的SpringSecurity,使用postman测试后端的权限接口时发现都正常,但是使用vue+axios发送异步的请求后端一直获取不出axios提交的form表单的数据,爬坑两个半钟头找到了答案 axios用post异步形式提交的数据和我们直接使用from表单提交的数据的格式(Form Data格式)是不一样的,在下面列举 默认格式Request Payload 直接使用axios发送异步请

表单提交数据格式form data

前言: 最近遇到的最多的问题就是表单提交数据格式问题了. 常见的三种表单提交数据格式,分别举例说明:(项目是vue的框架) 1.application/x-www-form-urlencoded 提交表单方法,js代码如下: submitForm() { let data = 'title="标题"&content="内容"&pic[]="image1"&pic[]="image2"&pic[]

vue项目实践-添加axios封装api请求

安装 axios npm install axios --save 创建实例 (utils/fetch.js) axios 默认提交格式为:application/json 可使用 qs 模块(需要安装)转换后提交格式为 application/x-www-form-urlencoded 通过设置 transformRequest 属性 data => qs.stringify(data) 可以正常表单形式提交 import axios from 'axios' const instance =

vue+axios通过formdata提交参数和上传文件

demo.vue 文件 <template> <div class="demo"> <input v-model="importForm.month" type="text" name="month"/> <input ref="importFile" type="file" name="importFile" @change