如何隐藏路由器参数和从URL查询字符串

时间:2016-08-30 09:00:29

标签: reactjs react-router

我已经在client.js中定义了如下路由,它工作正常,我需要传递一个JSON,所以我尝试传递作为查询参数。

<Router history={appHistory}>
    <Route path="/" component={Login}></Route>
    <Route path='/login' component={Login}></Route>
    <Route path="/user" component={Home}></Route>
</Router>

在登录组件中,我将更改路径,如下所示

hashHistory.push({
    pathname: '/user',
    query: { JSONResp: JSON.stringify(result.data)}
});

它工作正常,我可以访问查询参数。

是否有任何选项可以从URL隐藏此查询值,而且我的JSON响应大小约为2MB,建议在查询参数中传递此数据。

1 个答案:

答案 0 :(得分:0)

运行history.pushState(null,null,window.location.href.split('?')[0]),请注意浏览器在调用pushState()后不会尝试加载此URL,但稍后可能会尝试加载URL,例如在用户重新启动浏览器之后