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 相关文章推荐
学习YUI.Ext 第六天--关于树TreePanel(Part 1)
Mar 10 Javascript
jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
Aug 28 Javascript
jquery $.ajax各个事件执行顺序
Oct 15 Javascript
在浏览器中获取当前执行的脚本文件名的代码
Jul 19 Javascript
jquery获得页面元素的坐标值实现思路及代码
Apr 15 Javascript
浅谈 javascript 事件处理
Jan 04 Javascript
基于jQuery实现仿51job城市选择功能实例代码
Mar 02 Javascript
javascript 中模板方法单例的实现方法
Oct 17 Javascript
浅谈VUE-CLI脚手架热更新太慢的原因和解决方法
Sep 28 Javascript
js 使用ajax设置和获取自定义header信息的方法小结
Mar 12 Javascript
vue组件暴露和.js文件暴露接口操作
Aug 11 Javascript
基于jQuery拖拽事件的封装
Nov 29 jQuery
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函数)
2006/10/09 PHP
一个PHP模板,主要想体现一下思路
2006/12/25 PHP
基于MySQL分区性能的详细介绍
2013/05/02 PHP
在PHP站点的页面上添加Facebook评论插件的实例教程
2016/01/08 PHP
Yii框架实现的验证码、登录及退出功能示例
2017/05/20 PHP
Yii框架使用魔术方法实现跨文件调用功能示例
2017/05/20 PHP
JavaScript操纵窗口的方法小结
2013/06/28 Javascript
js实现简单的星级选择器提交效果适用于评论等
2013/10/18 Javascript
5个JavaScript经典面试题
2014/10/13 Javascript
原生js实现类似弹窗抖动效果
2015/04/02 Javascript
基于JQuery和CSS3实现仿Apple TV海报背景视觉差特效源码分享
2015/09/21 Javascript
全面解析Javascript无限添加QQ好友原理
2016/06/15 Javascript
vue中子组件的methods中获取到props中的值方法
2018/08/27 Javascript
对angularJs中ng-style动态改变样式的实例讲解
2018/09/30 Javascript
JavaScript时间与时间戳的转换操作实例分析
2018/12/07 Javascript
Vue 组件注册实例详解
2019/02/23 Javascript
vue中组件的3种使用方式详解
2019/03/23 Javascript
element-ui表格合并span-method的实现方法
2019/05/21 Javascript
jQuery Migrate 插件用法实例详解
2019/05/22 jQuery
layui 对table中的数据进行转义的实例
2019/09/12 Javascript
如何在VUE中使用vue-awesome-swiper
2021/01/04 Vue.js
python轻松查到删除自己的微信好友
2016/01/10 Python
Python numpy生成矩阵、串联矩阵代码分享
2017/12/04 Python
Python读取本地文件并解析网页元素的方法
2018/05/21 Python
python3模块smtplib实现发送邮件功能
2018/05/22 Python
Python爬取数据并写入MySQL数据库的实例
2018/06/21 Python
python打包exe开机自动启动的实例(windows)
2019/06/28 Python
Python操作redis和mongoDB的方法
2019/12/19 Python
Python在后台自动解压各种压缩文件的实现方法
2020/11/10 Python
小程序canvas中文字设置居中锚点
2019/04/16 HTML / CSS
应聘教师推荐信
2013/10/31 职场文书
基层党支部整改方案
2014/10/25 职场文书
迎新年主持词
2015/07/06 职场文书
《赵州桥》教学反思
2016/02/17 职场文书
python-opencv 中值滤波{cv2.medianBlur(src, ksize)}的用法
2021/06/05 Python
Python+OpenCV实现在图像上绘制矩形
2022/03/21 Python