求助,页面点击刷新按钮后,页面地址会丢失路由

举例:
这样一个地址:http://www.aaa.com/#/layout?pid=alsdfjkjkalsjfajlsdfjlkajlksfjl&sid=65f4a46sdf465as46df465asasdf,点击浏览器的刷新按钮或者点击F5,刷新页面,地址栏的地址有一定概率会变成:http://www.aaa.com。
#后面的内容直接消失,这个问题出现的概率不一定,有时没事,有时一直有事,各位大神有没有遇到类似情况的,如何解决?
如能提供解决思路,感激不尽

这是因为在路由跳转时,你通过

this.$router.push({
name:“layout”,
params:{pid:‘alsdfjkjkalsjfajlsdfjlkajlksfjl’, sid: ‘65f4a46sdf465as46df465asasdf’}
})
或者
this.$router.push({
name:"/layout?pid=alsdfjkjkalsjfajlsdfjlkajlksfjl&sid=65f4a46sdf465as46df465asasdf",
})
这两种方式都类似于post请求,请求参数或在刷新时不可见,要想参数可见,可以使用下面这种方式传参
this.$router.push({
name:"/admin",
query:{pid:‘alsdfjkjkalsjfajlsdfjlkajlksfjl’, sid: ‘65f4a46sdf465as46df465asasdf’}
})

我使用的就是this.$router.push({
name:"/admin",
query:{pid:‘alsdfjkjkalsjfajlsdfjlkajlksfjl’, sid: ‘65f4a46sdf465as46df465asasdf’}
})这种形式,昨天发现问题了,是流量劫持, 网页会有一定概率去请求一个flash.js,这个js里有行代码function loadPage(){location.replace(location.href.split("#")[0]);},这个直接就把hash模式的路由给干掉了,解决方法就是使用https,这样就不会有这个flash.js了

再或者路由换成history模式,或者不用windows版的chrome

不要用name跳,可以用path