qs.stringify()、qs.parse()的使用
- qs是什么?
- 使用方法
- 
qs是npm仓库所管理的包,可以通过npm install qs安装,因此我们可以直接通过require('qs')引用得到哦~。 
- 
qs.stringify()作用是将对象或者数组序列化成URL的格式。那么这句话是什么意思呢? 举两个栗子: - 对象序列化
 let obj = { methods: 'query_stu' id: 1, name: 'chenchen' } qs.stringify(obj) // methods=query_stu&id=1&name=chenchen 这就是我们的传到服务器的url- 数组序列化
 let arr = [2,3] qs.stringify({a:arr}) // 'a[0]=2&a[1]=3'这种格式可以进行转为序列化,但是url中会带有数组的下标a[0]、a[1],这并不是我们一般的处理办法。常用方法如下: // 常用并推荐使用 let arr = [2,3] qs.stringify({a:arr},{indices:false}); // 'a=2&a=3' 注意这个格式,一般使我们常用的格式哦~其中:indices:false,去除默认处理的方式。如果不写这个的话,则默认是第一种处理的方式(带下标)。 
- 
qs.parse()则就是反过来啦,将我们通过qs.stringify()序列化的对象或者数组转回去。 举个栗子: let url = 'id=1&name=chenchen' qs.stringify(url) // {id:1,name:chenchen}
最后贴一个我司的一个api,给大家一个真实的感受:
// 根据业务id查询业务费用列表
export function commonBuzCostPage(params) {
  return request({
    url: `/departmentCost/commonBuzCostPage`,
    method: 'get',
    params,
    paramsSerializer: params => {
      return qs.stringify(params, {
        indices: false
      })
    }
  })
}
原文地址:https://www.jianshu.com/p/7e64878fb210
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号