• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
落英、执手
博客园    首页    新随笔    联系   管理    订阅  订阅
axios使用总结

一.请求配置

// 引入
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'
posted on 2020-12-17 14:44  落英、执手  阅读(140)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3