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 渐变下拉菜单
Dec 15 Javascript
浅析ajax请求json数据并用js解析(示例分析)
Jul 13 Javascript
[原创]jQuery常用的4种加载方式分析
Jul 25 Javascript
VueJS如何引入css或者less文件的一些坑
Apr 25 Javascript
详解ES7 Decorator 入门解析
Feb 18 Javascript
vue实现新闻展示页的步骤详解
Apr 11 Javascript
JS拖动选择table里的单元格完整实例【基于jQuery】
May 28 jQuery
利用Angular7开发一个Radio组件的全过程
Jul 11 Javascript
layui实现数据表格自定义数据项
Oct 26 Javascript
javascript设计模式 ? 外观模式原理与用法实例分析
Apr 15 Javascript
js中!和!!的区别与用法
May 09 Javascript
原生小程序封装跑马灯效果
Oct 21 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截取指定图片大小的方法
2014/12/10 PHP
PHP制作百度词典查词采集器
2015/01/29 PHP
php实现批量上传数据到数据库(.csv格式)的案例
2017/06/18 PHP
激活 ActiveX 控件
2006/10/09 Javascript
Mootools 1.2教程 排序类和方法简介
2009/09/15 Javascript
jQuery 第二课 操作包装集元素代码
2010/03/14 Javascript
Javasipt:操作radio标签详解
2013/12/30 Javascript
Js Jquery创建一个弹出层可加载一个页面
2014/05/08 Javascript
分析了一下JQuery中的extend方法实现原理
2015/02/27 Javascript
基于JavaScript实现鼠标悬浮弹出跟随鼠标移动的带箭头的信息层
2016/01/18 Javascript
总结Javascript中数组各种去重的方法
2016/10/04 Javascript
微信小程序之下拉列表实现方法解析(附完整源码)
2019/08/23 Javascript
mpvue 页面预加载新增preLoad生命周期的两种方式
2019/10/17 Javascript
layui实现给某一列加点击事件
2019/10/26 Javascript
vue props对象validator自定义函数实例
2019/11/13 Javascript
用Python计算三角函数之acos()方法的使用
2015/05/15 Python
Python中max函数用于二维列表的实例
2018/04/03 Python
Python 通过打码平台实现验证码的实现
2019/05/13 Python
Python实现SMTP邮件发送
2020/06/16 Python
可视化pytorch 模型中不同BN层的running mean曲线实例
2020/06/24 Python
Python接口自动化测试框架运行原理及流程
2020/11/30 Python
html5的新增的标签和废除的标签简要概述
2013/02/20 HTML / CSS
凯特方迪化妆品官网:Kat Von D Beauty
2016/11/15 全球购物
Spanx塑身衣官网:美国知名内衣品牌
2017/01/11 全球购物
Bailey帽子官方商店:Bailey Hats
2018/09/25 全球购物
Watch Station官方网站:世界一流的手表和智能手表
2020/01/05 全球购物
什么是托管函数?托管函数有什么用?
2014/06/15 面试题
财务总监管理岗位职责
2014/03/08 职场文书
幼儿园评语大全
2014/04/17 职场文书
小学爱国卫生月活动总结
2014/06/30 职场文书
中层领导干部群众路线对照检查材料思想汇报
2014/10/02 职场文书
追悼会悼词大全
2015/06/23 职场文书
水浒传读书笔记
2015/06/25 职场文书
老乡会致辞
2015/07/28 职场文书
2019经典广告词集锦!
2019/07/02 职场文书
游戏《我的世界》澄清Xbox版暂无计划加入光追
2022/04/03 其他游戏