window.location.href 传递对象
时间: 2024-12-27 07:26:07 浏览: 5
### 使用 `window.location.href` 传递 JavaScript 对象
当需要通过 `window.location.href` 在页面之间传递 JavaScript 对象时,通常的做法是先将对象序列化为字符串形式,最常用的方法是将其转换成 JSON 字符串并作为查询参数附加到目标 URL 上。为了确保这些数据能在 URL 中被正确传输,应当使用 `encodeURIComponent()` 函数来编码对象中的特殊字符。
对于简单的对象可以直接利用 `JSON.stringify()` 方法进行序列化处理:
```javascript
// 创建要传递的对象
let obj = {
name: 'chen',
age: 18,
};
// 将对象转化为 JSON 字符串,并对其进行 URI 编码
const encodedObj = encodeURIComponent(JSON.stringify(obj));
// 构建新的 URL 并执行跳转
window.location.href = './targetPage.html?objData=' + encodedObj;
```
接收端可以通过解析 URL 参数获取该对象,并再次调用 `JSON.parse()` 来反序列化回原始对象结构[^1]。
需要注意的是,在某些情况下如果对象非常大,则可能会超出浏览器支持的最大 URL 长度限制(不同浏览器有不同的规定),这时建议考虑其他方式如存储于 sessionStorage 或 localStorage 等本地储存机制中再携带 key 进行跨页共享[^2]。
阅读全文