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 相关文章推荐
利用javascript移动div层-javascript 拖动层
Mar 22 Javascript
js函数的延迟加载实现代码
Oct 11 Javascript
Bootstrap Paginator分页插件与ajax相结合实现动态无刷新分页效果
May 27 Javascript
jQuery实现磁力图片跟随效果完整示例
Sep 16 Javascript
RequireJS简易绘图程序开发
Oct 28 Javascript
让div运动起来 js实现缓动效果
Jul 06 Javascript
Vue如何实现响应式系统
Jul 11 Javascript
详解使用mpvue开发github小程序总结
Jul 25 Javascript
小程序开发基础之view视图容器
Aug 21 Javascript
Jquery获取radio选中值实例总结
Jan 17 jQuery
jQuery实现验证用户登录
Dec 10 jQuery
Vue项目vscode 安装eslint插件的方法(代码自动修复)
Apr 15 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系列学习之日期函数使用介绍
2012/08/18 PHP
通过缓存数据库结果提高PHP性能的原理介绍
2012/09/05 PHP
解析用PHP实现var_export的详细介绍
2013/06/20 PHP
PHP7常量数组用法分析
2016/09/26 PHP
PHP7新增运算符用法实例分析
2016/09/26 PHP
PHP实现十进制数字与二十六进制字母串相互转换操作示例
2018/08/10 PHP
php从数据库中获取数据用ajax传送到前台的方法
2018/08/20 PHP
网页自动跳转代码收集
2009/09/27 Javascript
JS分页控件 可用于无刷新分页
2013/07/23 Javascript
JQUERY简单按钮轮换选中效果实现方法
2015/05/07 Javascript
javascript HTML5 Canvas实现圆盘抽奖功能
2016/04/11 Javascript
jQuery插入节点和移动节点用法示例(insertAfter、insertBefore方法)
2016/09/08 Javascript
vue-cli扩展多模块打包的示例代码
2018/04/09 Javascript
JavaScript设计模式之模板方法模式原理与用法示例
2018/08/07 Javascript
js实现无缝滚动双图切换效果
2019/07/09 Javascript
Vue自定义指令结合阿里云OSS优化图片的实现方法
2019/11/12 Javascript
Vue 列表页带参数进详情页的操作(router-link)
2020/11/13 Javascript
[01:07:19]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第一场
2018/04/06 DOTA
Django自定义manage命令实例代码
2018/02/11 Python
Python使用xlwt模块操作Excel的方法详解
2018/03/27 Python
python中用logging实现日志滚动和过期日志删除功能
2019/08/20 Python
pytorch 实现模型不同层设置不同的学习率方式
2020/01/06 Python
canvas 基础之图像处理的使用
2020/04/10 HTML / CSS
美国在线鞋类零售商:LifeStride
2019/06/09 全球购物
培训讲师邀请函
2014/01/10 职场文书
企业精细化管理实施方案
2014/03/23 职场文书
《从现在开始》教学反思
2014/04/15 职场文书
车间核算员岗位职责
2014/07/01 职场文书
2014年文明创建工作总结
2014/11/25 职场文书
团代会开幕词
2015/01/28 职场文书
2015年社区文体活动总结
2015/03/25 职场文书
2015年百日安全活动总结
2015/03/26 职场文书
作弊检讨书范文
2015/05/06 职场文书
社区结对共建协议书
2016/03/23 职场文书
合理缓解职场压力,让你随时保持最佳状态!
2019/06/21 职场文书
如何解决.cuda()加载用时很长的问题
2021/05/24 Python