http://api.xxxxx.xx/problems/search?keyword=t&page=1&size=2
场景:在请求的 API 中附带参数,以?
、&
连接
推荐使用社区 npm 包: qs 或 query-string 实现该功能 【2017年11月19日更新】
参数拼接
1 | const parseParams = (uri, params) => { |
1 | let params = { |
FormData
1 | urlEncode (params) { |
1 | let params = { |
分析
创建空数组
1
const paramsArray = []
遍历对象的 key 属性,只要对应的 value 存在,就将其以
key=value
的形式存入数组1
Object.keys(params).forEach(key => params[key] && paramsArray.push(`${key}=${params[key]}`))
利用
Array.join()
方法拼接数组元素为字符串,如果之前无?
,在uri
中填加1
2
3
4
5
6if (uri.search(/\?/) === -1) {
uri += `?${paramsArray.join('&')}`
} else {
uri += `&${paramsArray.join('&')}`
}
return uri