对象转字符串(键=值&键=值的形式)

127 阅读1分钟

我们在使用axios发请求的时候,有的时候需要传递参数,而针对于他所需要的参数格式有四种

// axios所支持的参数格式有:

    // 对象:{key:value,key:value},axios内部会进行转换为key=value&key=value
    // 字符串: key=value&key=value&key=value....
    // json字符串:'{"key":"value","key":"value"}'
    // formdata:new Formdata

但我们若是自己写原生的方法XMLHttpRequest()发请求的话,尤其是get,要用拼接的方式url += '?' + parseObjectToString(params) ,要把?后面的参数转成字符串才行。

 function parseObjectToString(obj) {
 let arr = []
 for (let key in obj) {
   arr.push(key + '=' + obj[key])
  }
  return arr.join('&')
 }
 
 一般对象都是{name:'jack',age:20},而经过上面的操作可以变成  name=jack&age=20