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 相关文章推荐
dreamweaver 安装Jquery智能提示
Apr 02 Javascript
js图片处理示例代码
May 12 Javascript
JQuery中模拟image的ajaxPrefilter与ajaxTransport处理
Jun 19 Javascript
jQuery实现带有洗牌效果的动画分页实例
Aug 31 Javascript
基于jQuery仿淘宝产品图片放大镜代码分享
Jun 23 Javascript
jQuery实现的多滑动门,多选项卡效果代码
Mar 28 Javascript
AngularJS 服务详细讲解及示例代码
Aug 17 Javascript
浅谈JavaScript的闭包函数
Dec 08 Javascript
前端编码规范(3)JavaScript 开发规范
Jan 21 Javascript
详解如何在angular2中获取节点
Nov 23 Javascript
express如何解决ajax跨域访问session失效问题详解
Jun 20 Javascript
vue相同路由跳转强制刷新该路由组件操作
Aug 05 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
英雄试炼之肉山谷—引领RPG新潮流
2020/04/20 DOTA
PHP编码规范之注释和文件结构说明
2010/07/09 PHP
发一个php简单的伪原创程序,配合商城采集用的
2010/10/12 PHP
从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
2014/08/20 PHP
php实现源代码加密的方法
2015/07/11 PHP
PHP下 Mongodb 连接远程数据库的实例代码
2017/08/30 PHP
ThinkPHP3.1.x修改成功与失败跳转页面的方法
2017/09/29 PHP
加载jQuery后$冲突的解决办法
2010/07/09 Javascript
jQuery 1.5 源码解读 面向中高阶JSER
2011/04/05 Javascript
SeaJS 与 RequireJS 的差异对比
2014/12/08 Javascript
JS获取iframe中longdesc属性的方法
2015/04/01 Javascript
理解javascript定时器中的setTimeout与setInterval
2016/02/23 Javascript
ES6所改良的javascript“缺陷”问题
2016/08/23 Javascript
React操作真实DOM实现动态吸底部的示例
2017/10/23 Javascript
Angular 封装并发布组件的方法示例
2018/04/19 Javascript
vue移动端实现下拉刷新
2018/04/22 Javascript
Vue-cli3项目配置Vue.config.js实战记录
2018/07/29 Javascript
图文详解vue框架安装步骤
2019/02/12 Javascript
微信小程序实现单个或多个倒计时功能
2020/11/01 Javascript
python实现基于两张图片生成圆角图标效果的方法
2015/03/26 Python
Python栈类实例分析
2015/06/15 Python
python中yield的用法详解——最简单,最清晰的解释
2019/04/04 Python
opencv导入头文件时报错#include的解决方法
2019/07/31 Python
Python爬取365好书中小说代码实例
2020/02/28 Python
pyqt5 QlistView列表显示的实现示例
2020/03/24 Python
对python中各个response的使用说明
2020/03/28 Python
python读取hdfs并返回dataframe教程
2020/06/05 Python
Python使用正则表达式实现爬虫数据抽取
2020/08/17 Python
英国标志性奢侈品牌:Burberry
2016/07/28 全球购物
最好的意大利皮夹克:D’Arienzo
2018/12/04 全球购物
中国梦的演讲稿
2014/01/08 职场文书
六年级数学教学反思
2014/02/03 职场文书
商业房地产广告语
2014/03/13 职场文书
整顿机关作风心得体会
2014/09/10 职场文书
小学国庆节活动方案策划书
2014/09/16 职场文书
SpringBoot项目部署到阿里云服务器的实现步骤
2022/06/28 Java/Android