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 相关文章推荐
JS焦点图切换,上下翻转
May 12 Javascript
最简单的js图片切换效果实现代码
Sep 24 Javascript
JS获取并操作iframe中元素的方法
Mar 21 Javascript
js操作checkbox遇到的问题解决
Jun 29 Javascript
详解页面滚动值scrollTop在FireFox与Chrome浏览器间的兼容问题
Dec 03 Javascript
深入理解js函数的作用域与this指向
May 28 Javascript
jQuery右下角悬浮广告实例
Oct 17 Javascript
5种JavaScript脚本加载的方式
Jan 16 Javascript
JavaScript正则表达式exec/g实现多次循环用法示例
Jan 17 Javascript
jQuery基于正则表达式的表单验证功能示例
Jan 21 Javascript
JQueryEasyUI框架下的combobox的取值和绑定的方法
Jan 22 Javascript
vue2.0在table中实现全选和反选的示例代码
Nov 04 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 数组的一个悲剧?
2011/05/11 PHP
CodeIgniter模板引擎使用实例
2014/07/15 PHP
php实现在新浪云中使用imagick生成缩略图并上传的方法
2016/09/26 PHP
浅谈htmlentities 、htmlspecialchars、addslashes的使用方法
2016/12/09 PHP
浅谈php中变量的数据类型判断函数
2017/03/04 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
2017/11/17 PHP
php从数据库读取数据,并以json格式返回数据的方法
2018/08/21 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
2020/02/27 PHP
php操作redis常见方法示例【key与value操作】
2020/04/14 PHP
JQuery从头学起第三讲
2010/07/06 Javascript
jQuery插件原来如此简单 jQuery插件的机制及实战
2012/02/07 Javascript
JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
2016/02/25 Javascript
Jquery组件easyUi实现表单验证示例
2016/08/23 Javascript
老生常谈jquery id选择器和class选择器的区别
2017/02/12 Javascript
javascript 正则表达式分组、断言详解
2017/04/20 Javascript
vue中页面跳转拦截器的实现方法
2017/08/23 Javascript
JavaScript canvas实现围绕旋转动画
2017/11/18 Javascript
微信小程序模板(template)使用详解
2018/01/31 Javascript
JS解析后台返回的JSON格式数据实例
2018/08/06 Javascript
微信小程序实现拨打电话功能的示例代码
2020/06/28 Javascript
node.js 基于 STMP 协议和 EWS 协议发送邮件
2021/02/14 Javascript
下载糗事百科的内容_python版
2008/12/07 Python
Python实现截屏的函数
2015/07/26 Python
Android应用开发中Action bar编写的入门教程
2016/02/26 Python
Scrapy的简单使用教程
2017/10/24 Python
Python实现扣除个人税后的工资计算器示例
2018/03/26 Python
python xlsxwriter创建excel图表的方法
2018/06/11 Python
详解python播放音频的三种方法
2019/09/23 Python
如何基于Python实现自动扫雷
2020/01/06 Python
Python基于staticmethod装饰器标示静态方法
2020/10/17 Python
HTML5 画布canvas使用方法
2016/03/18 HTML / CSS
美国男士内衣品牌:Tommy John
2017/12/22 全球购物
编程输出如下图形
2013/11/24 面试题
计算机网络及管理学专业求职信
2014/06/05 职场文书
报效祖国演讲稿
2014/09/15 职场文书
python 自动刷新网页的两种方法
2021/04/20 Python