路由传参,怎么让参数在url隐藏

img


点击页面上的按钮,跳转到新页面

img


控制台可以输出值,但是怎么让url上面的参数隐藏

img

img

https://blog.csdn.net/weixin_47013351/article/details/124224089

可以使用window.postMessage
a页面:

<script>
window.onload = () => {
      window.postMessage({
        params: {id: 123}
      }, '*')
}
</script>

b页面接收:

<script>
 window.onload = () => {
      // 子页面接收消息
      window.addEventListener('message', function (e) {
        let params = e.data.params
      }, false)
    }
</script>

以下答案引用自GPT-3大模型,请合理使用:

```
实例

对于这个问题,有很多种解决方法,我们可以分为两类来解决:

1、在HTML页面中加入隐藏的input标签

这种方法是在HTML页面中加入隐藏的input标签,然后通过JavaScript获取该input的值,并将其传递给路由。代码如下:

Test Link

JavaScript代码:

var input = document.getElementById("param1");

var param1Value = input.value;

window.locati

1、像下面这种可以隐藏参数,但是弊端就是刷新页面,参数就不见了


this.$router.push({
    name:url,
    params:{
      id:id
    }
}

2、可以把参数存本地,然后到页面的时候再取
3、存vuex,但跟第一种一样