zoukankan      html  css  js  c++  java
  • VUE—axios自定义请求配置—3、transformRequest在向服务器发送前,修改请求数据(图文详情)

    VUE—axios自定义请求配置—3、transformRequest在向服务器发送前,修改请求数据(图文详情)

    import axios from 'axios'
      import qs from 'qs'
    
      let http = axios.create({
        baseURL: 'https://www.easy-mock.com/mock/5d41580a1a802c0d5e53dcc2/example/',
        // 可以通过设置一个 `baseURL` 便于为 axios 实例的方法传递相对 URL
    
        transformRequest: [function (data) {
          // `transformRequest` 允许在向服务器发送前,修改请求数据
          // 只能用在 'PUT', 'POST' 和 'PATCH' 这几个请求方法
          data.sex = 'man'
          return qs.stringify(data)
          // 结合create_headers里的内容,在这里又新增一条信息sex=man
          // 因此network中查看的结果是:name=xiaoming&age=12&sex=man
        }],
    
        headers: {'content-type': 'application/x-www-form-urlencoded'},
      })
    qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'indices' })
    // 'a[0]=b&a[1]=c'
    qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'brackets' })
    // 'a[]=b&a[]=c'
    qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'repeat' })
    // 'a=b&a=c'
    qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'comma' })
    // 'a=b,c'

    axios中get请求的params参数中带数组的处理方法

    const qs = require('qs');
    
    axios.get(url, {
        params:{
            arr: [1,2,3]
        },
        paramsSerializer: function(params) {
            return qs.stringify(params, {arrayFormat: 'repeat'})
        }
    })

    参照文献:

    https://www.jianshu.com/p/68d81da4e1ad

    https://blog.csdn.net/Poppy_LYT/article/details/98172136

  • 相关阅读:
    Linux ps命令
    SecureCRT注册机使用方法
    微信消息的处理和应答
    微信公众号开发--开发服务器接入微信服务器
    RESTful架构
    OAuth2.0详解
    HTTP头详解
    Cookie/Session机制详解
    学习tornado:安全
    python tornado框架实现CRUD
  • 原文地址:https://www.cnblogs.com/yeminglong/p/12737584.html
Copyright © 2011-2022 走看看