美文网首页
axios请求参数序列化

axios请求参数序列化

作者: Do_Du | 来源:发表于2019-12-10 13:35 被阅读0次

通过qs序列化参数
安装命令

npm install qs

qs.parse()、qs.stringify()

1、qs.parse()将URL解析成对象的形式

    const Qs = require('qs')
    const url = 'method=query_sql_dataset_data&projectId=85&appToken=7d22e38e-5717-11e7-907b-a6006ad3dba0'
    Qs.parse(url)
    console.log(Qs.parse(url))
image.png

2、qs.stringify()将对象 序列化成URL的形式,以&进行拼接

    const Qs = require('qs')
    const obj = {
      method: 'query_sql_dataset_data',
      projectId: '85',
      appToken: '7d22e38e-5717-11e7-907b-a6006ad3dba0',
      datasetId: ' 12564701'
    }
    console.log(Qs.stringify(obj))
image.png

3、对象数组转换成字符串

console.log(decodeURIComponent(Qs.stringify({ a: ['b', 'c', 'd'] })))
image.png

3.1、 encodeURIComponent 编码 、decodeURIComponent 解码

console.log(encodeURIComponent(Qs.stringify({ a: ['b', 'c', 'd'] }, { arrayFormat: 'indices' }))) // encodeURIComponent编码
console.log(decodeURIComponent(Qs.stringify({ a: ['b', 'c', 'd'] }))) // decodeURIComponent 解码
image.png

4、通过arrayFormat 选项进行格式化输出,默认indices

    console.log(decodeURIComponent(Qs.stringify({ a: ['b', 'c', 'd'] }, { arrayFormat: 'indices' })))
    console.log(decodeURIComponent(Qs.stringify({ a: ['b', 'c', 'd'] }, { arrayFormat: 'brackets' })))
    console.log(decodeURIComponent(Qs.stringify({ a: ['b', 'c', 'd'] }, { arrayFormat: 'repeat' })))
image.png

相关文章

网友评论

      本文标题:axios请求参数序列化

      本文链接:https://www.haomeiwen.com/subject/wcfggctx.html