Javascript 控制台结果不正确?当调用getUrlParam函数时

Javascript 控制台结果不正确?当调用getUrlParam函数时,javascript,reactjs,Javascript,Reactjs,Utils.js: // getUrlParam() is get location function getUrlParam(name){ let queryString = window.location.search.split('?')[1], reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)'), result = queryString.match(reg); r

Utils.js:

// getUrlParam() is get location function

getUrlParam(name){
    let queryString = window.location.search.split('?')[1],
        reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)'),
        result = queryString.match(reg);
    return decodeURIComponent(result[2])
}
登录组件:

class Login extends Component{
    constructor(props){
        super(props)
        this.state = {
            redirect: _utils.getUrlParam('redirect')
        }
    }
}

// _user.login() is backend login interface
// UserInfo include username and password

login(){
    _user.login(UserInfo).then((res) => {
        console.log(this.state.redirect)
    })
}

当我点击按钮时,如果位置是,我想得到的结果是“/category/index”,但现在我得到的结果是“/”

稍微更改正则表达式:

变量名称='重定向'; var reg=new RegExp'^&'+name+'=[^&]*&$'; var url='1〕http://localhost:8088/login?redirect=%2Fcategory%2Findex'; var queryString=url.split'?'[1]; var match=queryString.matchreg;
console.logdecodeURIComponentmatch[2];非常感谢你!我可以问你为什么+名称+不获取/类别/索引?谢谢