window.location.href传对象
时间: 2023-09-29 10:03:15 浏览: 150
JS 中document.URL 和 windows.location.href 的区别
window.location.href只能传递字符串类型的URL地址,无法直接传递对象。如果想要传递对象,可以将对象转换为字符串类型,然后在URL地址中传递。常见的方式有:
1. 使用JSON.stringify()方法将对象转换为JSON字符串,然后在URL地址中传递。
例如:
```
var obj = {name: "张三", age: 20};
var str = JSON.stringify(obj);
window.location.href = "http://www.example.com?data=" + encodeURIComponent(str);
```
2. 将对象属性拼接成字符串,然后在URL地址中传递。
例如:
```
var obj = {name: "张三", age: 20};
var str = "name=" + encodeURIComponent(obj.name) + "&age=" + encodeURIComponent(obj.age);
window.location.href = "http://www.example.com?" + str;
```
在接收端,可以使用相应的方法将JSON字符串或拼接的字符串转换为对象。例如,使用JSON.parse()方法将JSON字符串转换为对象:
```
var str = decodeURIComponent(location.search.substr(1).split("=")[1]);
var obj = JSON.parse(str);
```
或者使用字符串的split()方法将拼接的字符串转换为对象:
```
var str = decodeURIComponent(location.search.substr(1));
var arr = str.split("&");
var obj = {};
for (var i = 0; i < arr.length; i++) {
var pair = arr[i].split("=");
obj[pair[0]] = pair[1];
}
```
阅读全文