一.请求配置

// 引入
import axios from 'axios';
import qs from 'qs';

this.$axios({
method:"get", // get|post|delete|put...
url:"",
headers:{"content-type":'application/json'},
// params是即将与请求一起发送的 URL 参数,必须是一个无格式对象(plain object)或 URLSearchParams 对象
data是作为请求主体被发送的数据,只适用于这些请求方法 'PUT', 'POST', 和 'PATCH'
params|data:{},
// paramsSerializer是一个负责params序列化的函数
paramsSerializer: function(params) {
return Qs.stringify(params, {arrayFormat: 'brackets'})
}
})
.then(ret=>{})
.catch(err=>{})

二、参数传递(参考资料:https://blog.csdn.net/qq_42345108/article/details/103399883, https://www.npmjs.com/package/qs)

当参数中含有数组时,需要对参数进行序列化再进行传递。

paramsSerializer中的arrayFormat共四种类型:

1. qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'indices' })

  // 'a[0]=b&a[1]=c'

2. qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'brackets' })

    // 'a[]=b&a[]=c'
3. qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'repeat' })

    // 'a=b&a=c'
4. qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'comma' })

    // 'a=b,c'
5. qs.stringify({ a: [{'b':1, 'c':2}] }, { arrayFormat: 'indices', allowDots:true })
    // 'a[0].b=1&a[0].c=2'

axios使用总结的更多相关文章

  1. 为什么axios请求接口会发起两次请求

    之前在使用axios发现每次调用接口都会有两个请求,第一个请求时option请求,而且看不到请求参数,当时也没注意,只当做是做了一次预请求,判断接口是否通畅,但是最近发现并不是那么回事. 首先我们知道 ...

  2. axios基本用法

    vue更新到2.0之后,作者就宣告不再对vue-resource更新,而是推荐的axios,前一段时间用了一下,现在说一下它的基本用法. 首先就是引入axios,如果你使用es6,只需要安装axios ...

  3. Axios、Lodash、TweenJS

    Axios是一个基于promise的HTTP库 http://chuansong.me/n/394228451820 Lodash是一个JavaScript的函数工具集 http://www.css8 ...

  4. axios全攻略

    随着 vuejs 作者尤雨溪发布消息,不再继续维护vue-resource,并推荐大家使用 axios 开始,axios 被越来越多的人所了解.本来想在网上找找详细攻略,突然发现,axios 的官方文 ...

  5. 抛弃vue-resource拥抱axios

    vue-resource用法 import Vue from 'vue' import VueResource from 'vue-resource' Vue.use(VueResource) 是不是 ...

  6. Vue+axios 实现http拦截及路由拦截

    现如今,每个前端对于Vue都不会陌生,Vue框架是如今最流行的前端框架之一,其势头直追react.最近我用vue做了一个项目,下面便是我从中取得的一点收获. 基于现在用vue+webpack搭建项目的 ...

  7. vue使用Axios做ajax请求

    vue2.0之后,就不再对vue-resource更新,而是推荐使用axios 1. 安装 axios $ npm install axios 或 $ bower install axios 2. 在 ...

  8. vue全家桶(Vue+Vue-router+Vuex+axios)(Vue+webpack项目实战系列之二)

    Vue有多优秀搭配全家桶做项目有多好之类的咱就不谈了,直奔主题. 一.Vue 系列一已经用vue-cli搭建了Vue项目,此处就不赘述了. 二.Vue-router Vue的路由,先献上文档(http ...

  9. 9.如何解决出现AXIOS的Request header field Content-Type is not allowed by Access-Control-Allow-Headers in preflight response.

    问题描述: 由于restful接口需要在头部header传递两个字段: Content-Type: application/jsonAccess-Token: 84c6635800b14e0eba4f ...

  10. vue2.0设置proxyTable使用axios进行跨域请求

    这里请求的是知乎日报的api,由@izzyleung这位大神提供的,这是github地址. 在vue-cli构建的项目中先安装axios npm install axios -S 这里暂不考虑用vue ...

随机推荐

  1. php 反序列化字符串逃逸

    这里总结一下反序列化字符串逃逸的知识点 反序列化字符串逃逸分为 被过滤后字符增多和字符减少的情况 这里就不讲之前的基础知识了 大家看其它师傅写的博客就可以了 很多师傅的文章写的都很细 现在直接就开始进 ...

  2. 记录POI导入时单元格下拉框两种实现方式(excel数据有效性)

    如果下拉选项字符少于225 使用方式1 public static HSSFSheet setHSSFValidation(HSSFSheet sheet, String[] textlist, in ...

  3. Salesforce 发送Email时遇到的问题(Case当中的Filed不出现Email选项:ケースのフィールドにメールタブが表示されない)。

    普段はケースの発生源はメールと選択する場合.ディフォルトで「フィールド」の中に「メール」というタブが出てきますが. (平时当我们选择[Case]的[来源]为[Email]时,默认就会在field中出现 ...

  4. 在回显时遇到的问题,回显的值无法显示到页面 vue

    //理解为 重新渲染 this.form的数据 1 this.form = Object.assign({}, this.form)

  5. ORM框架的延迟加载(懒加载)

    Hibernate的延迟加载分类的延迟加载和集合的延迟加载,类的延迟加载又分调用session的load()方法的延迟加载和加载实体单向关联的另一个实体的延迟加载 1.修改配置文件 spring.jp ...

  6. 把本地项目上传到github

    一在本地项目文件内,git初始化,并add, commit cd /test/xxxdemo git init add . commit -m "inits" 二在github创建 ...

  7. Andorid 悬浮窗的适配指北

    我们有时候需要显示一个悬浮窗,悬浮窗由服务开启,里面会有一些操作 但是我在开发时遇到高版本 Android12 和低版本4.4 ,显示不一样的地方 这边整理了下适配的方法方案 一:根据版本不一的时候, ...

  8. ubuntu18 build opencv4 from source

    1 安装依赖 ## Install dependencies sudo apt -y install build-essential checkinstall cmake pkg-config yas ...

  9. viewport适配解决方案

    viewport的单位vw.vh vw.vh将viewport分成了一百份.vw即 viewport width vh即viewport height 1vw等于视图单位的1%的宽度 1vh等于视图单 ...

  10. 淘淘商城项目技术点-8:vsftpd

    FTP(文件传输协议)全称是:Very Secure FTP Server.   Vsftpd是linux类操作系统上运行的ftp服务器软件. vsftp提供三种登陆方式:1.匿名登录  2.本地用户 ...