axios请求参数序列化

2019-12-10  本文已影响0人  Do_Du

通过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
上一篇 下一篇

猜你喜欢

热点阅读