前端页面跳转时如何传递参数

从location的search属性值中解析出每个请求参数的key和value值


function getSearchParams(search) {
    const searchParams = {}
    const searchStr = search.substring(1)   // 如果location中有search值,去除search值中的第一个字符‘?’
    const searchArr = searchStr.length ? searchStr.split('&') : [] // 以 & 符为分隔符,解析出key value 组合,组合的形式为'key=value'
    searchArr.forEach(item => {
        let keyAndValue =  item.split('=')  // 以 = 为分隔符,解析出key 和 value,其中数组的第一项为key,数组的第二项为value
        let key = decodeURIComponent(keyAndValue[0])    // 如果查询参数中包含中文,会被编码成一串字符串,需要使用decodeURIComponent进行解码
        let value = decodeURIComponent(keyAndValue[1])
        if(key){
            searchParams[key] = value
        }
    })
    return searchParams
}
 
getSearchParams('?name=sunyuxia&age=18')    // {name: "sunyuxia", age: "18"}

链接标签

商品1

你可能感兴趣的:(前端页面跳转时如何传递参数)