实用技巧

131 阅读1分钟

取参数

从url上取得参数

 getUrlParam(url){
            let params = url.split("?")[1].split("&");
            let obj = {};
            params.map(v => (obj[v.split("=")[0]] = v.split("=")[1]));
            return obj
 },
 const parseQuery = (path) => {
    let query = {},
    let queryList = path.split('?')
    //获取query
    if(queryList[1]){
        let queryDataList = queryList[1].split('&')
        queryDataList.map((item)=> {
            let queryData = item.split('=')
            query[queryData[0]] = queryData[1]
        })
        return query
    }else{
    	return false
	}
}

 
const getParameters = URL => JSON.parse(`{"${decodeURI(URL.split("?")[1]).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g, '":"')}"}`
  )

getParameters("https://www.google.com.hk/search?q=js+md&newwindow=1");
// {q: 'js+md', newwindow: '1'}

合并url

const buildUrl = (path, query = {}) => {
    if (!_isObject(query)) {
        console.error('请传入正确的query')
        return
    }
    let str = ''
    Object.keys(query).forEach(key => {
        str += `&${key}=${encodeURIComponent(query[key])}`
    })
    return `${path}?${str.slice(1)}`
}