Vue 设置axios请求格式为form-data的操作步骤


Posted in Javascript onOctober 29, 2019

Cover

Vue 设置axios请求格式为form-data的操作步骤

在Vue中使用axios

这个老生常谈了,还是先记录一遍,方面后面自己查。

!!! 设置form-data请求格式直接翻到后面看。

1. 安装axios

在项目下执行npm install axios。

之后在main.js中,添加:

import axios from 'axios' //引入

//Vue.use(axios) axios不能用use 只能修改原型链 
Vue.prototype.$axios = axios

2. 发送GET请求

axios封装了get方法,传入请求地址和请求参数,就可以了,同样支持Promise。

//不带参数的get请求

let url = "..."
this.$axios.get(url)
.then((res) => {
 console.log(res) //返回的数据
})
.catch((err) => {
 console.log(err) //错误信息
})

不过它的参数需要写在params属性下,也就是:

//带参数的get请求

let url = "...getById"
this.$axios.get(url, {
 params: {
  id: 1
 }
})
.then((res) => {
 console.log(res) //返回的数据
})
.catch((err) => {
 console.log(err) //错误信息
})

2. 发送post请求

与上面相同,就是参数不需要写在params属性下了,即:

//带参数的post请求

let url = "...getById"
let data = {
 id: 1
}

this.$axios.post(url, data)
.then((res) => {
 console.log(res) //返回的数据
})
.catch((err) => {
 console.log(err) //错误信息
})

3. 经典写法

axios也可以用jQ的写法,不过回调函数还是Promise的写法,如:

this.$axios({
 method: 'post',
 url: '...',
 data: {
 firstName: 'Fred',
 lastName: 'Flintstone'
 }
}).then((res) => {
 console.log(res)
})

设置form-data请求格式

我用默认的post方法发送数据的时候发现后端获取不到数据,然而在network中看到参数是的确传出去的了。而且用postman测试的时候也是可以的,比较了下两个的不同发现是postman使用的是form-data格式,于是用form-data格式再次请求,发现OJBK

在查找设置请求格式的时候花了点时间,网上的方案有好几个,这个我亲测成功,发上来。

import axios from "axios" //引入

//设置axios为form-data
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
axios.defaults.headers.get['Content-Type'] = 'application/x-www-form-urlencoded';
axios.defaults.transformRequest = [function (data) {
 let ret = ''
 for (let it in data) {
  ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&'
 }
 return ret
}]


//然后再修改原型链
Vue.prototype.$axios = axios

以上这篇Vue 设置axios请求格式为form-data的操作步骤就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
基于jQuery实现点击同时更改两个iframe的网址
Jul 01 Javascript
jquery键盘事件使用介绍
Nov 01 Javascript
javascript同页面多次调用弹出层具体实例代码
Aug 16 Javascript
简单讲解jQuery中的子元素过滤选择器
Apr 18 Javascript
关于JavaScript 原型链的一点个人理解
Jul 31 Javascript
H5图片压缩与上传实例
Apr 21 Javascript
微信小程序 转发功能的实现
Aug 04 Javascript
Node做中转服务器转发接口
Oct 18 Javascript
jQuery封装animate.css的实例
Jan 04 jQuery
js推箱子小游戏步骤代码解析
Jan 10 Javascript
vue.js实现的经典计算器/科学计算器功能示例
Jul 11 Javascript
通过layer实现可输入的模态框的例子
Sep 27 Javascript
js单线程的本质 Event Loop解析
Oct 29 #Javascript
解决axios post 后端无法接收数据的问题
Oct 29 #Javascript
使用axios请求接口,几种content-type的区别详解
Oct 29 #Javascript
vue+elementui 对话框取消 表单验证重置示例
Oct 29 #Javascript
vue实现路由监听和参数监听
Oct 29 #Javascript
基于axios 的responseType类型的设置方法
Oct 29 #Javascript
关于vue2强制刷新,解决页面不会重新渲染的问题
Oct 29 #Javascript
You might like
php strstr查找字符串中是否包含某些字符的查找函数
2010/06/03 PHP
Thinkphp搭建包括JS多语言的多语言项目实现方法
2014/11/24 PHP
分享一个Laravel好用的Cache宏
2015/03/02 PHP
46 个非常有用的 PHP 代码片段
2016/02/16 PHP
php打乱数组二维数组多维数组的简单实例
2016/06/17 PHP
javascript中的对象和数组的应用技巧
2007/01/07 Javascript
不用写JS也能使用EXTJS视频演示
2008/12/29 Javascript
Flex通过JS获取客户端IP和计算机名的实例代码
2013/11/21 Javascript
javascript实现rgb颜色转换成16进制格式
2015/07/10 Javascript
JQuery ztree 异步加载实例讲解
2016/02/25 Javascript
基于jquery实现三级下拉菜单
2016/05/10 Javascript
浅谈JavaScript中小数和大整数的精度丢失
2016/05/31 Javascript
jQuery实现html table行Tr的复制、删除、计算功能
2017/07/10 jQuery
vue编译打包本地查看index文件的方法
2018/02/23 Javascript
JavaScript复制内容到剪贴板的两种常用方法
2018/02/27 Javascript
React中this丢失的四种解决方法
2019/03/12 Javascript
jquery使用echarts实现有向图可视化功能示例
2019/11/25 jQuery
[02:42]DOTA2英雄基础教程 杰奇洛
2013/12/23 DOTA
使用python实现拉钩网上的FizzBuzzWhizz问题示例
2014/05/05 Python
Python中集合的内建函数和内建方法学习教程
2015/08/19 Python
栈和队列数据结构的基本概念及其相关的Python实现
2015/08/24 Python
听歌识曲--用python实现一个音乐检索器的功能
2016/11/15 Python
python的继承知识点总结
2018/12/10 Python
Flask模板引擎之Jinja2语法介绍
2019/06/26 Python
pytorch:实现简单的GAN示例(MNIST数据集)
2020/01/10 Python
Python中用pyinstaller打包时的图标问题及解决方法
2020/02/17 Python
Schecker荷兰:狗狗用品和配件
2019/06/06 全球购物
网络工程师面试(三木通信技术有限公司)
2013/06/05 面试题
奶茶专卖店创业计划书
2014/01/18 职场文书
中学教师自我鉴定
2014/02/07 职场文书
吃空饷专项治理工作实施方案
2014/03/04 职场文书
广告艺术设计专业自荐书
2014/07/08 职场文书
2014年艾滋病防治工作总结
2014/12/10 职场文书
护士医德医风心得体会
2016/01/25 职场文书
2016年九九重阳节活动总结
2016/04/01 职场文书
简短的人生哲理(38句)
2019/08/13 职场文书