通过页面跳转传对象如何通过window.location.href接收一个对象
时间: 2023-10-11 09:14:55 浏览: 155
携带对象的页面跳转
5星 · 资源好评率100%
在页面跳转中,我们可以通过将对象序列化为字符串,然后将其作为 URL 参数传递给下一个页面,下一个页面再将其反序列化为对象。具体实现步骤如下:
1. 在页面 A 中将对象序列化为字符串,然后将其作为 URL 参数传递给页面 B:
```
var obj = {name: 'Tom', age: 18};
var objStr = JSON.stringify(obj);
window.location.href = 'pageB.html?data=' + encodeURIComponent(objStr);
```
2. 在页面 B 中通过解析 URL 参数获取序列化的字符串,然后将其反序列化为对象:
```
var objStr = decodeURIComponent(window.location.search.substring(1).split('=')[1]);
var obj = JSON.parse(objStr);
console.log(obj); // {name: 'Tom', age: 18}
```
需要注意的是,这种方式只适用于传递较小的对象,因为 URL 的长度是有限制的,如果传递的对象较大,会导致 URL 过长,可能会被浏览器拦截。对于较大的对象,建议使用其他方式进行传递,如使用 sessionStorage 或 localStorage。
阅读全文