window.location.href传参后怎么接受
时间: 2023-10-13 10:10:34 浏览: 51
在接收页面中使用以下代码可以获取传递的参数:
```
var params = window.location.href.split('?')[1];
var values = params.split('&');
var result = {};
for (var i = 0; i < values.length; i++) {
var pair = values[i].split('=');
result[pair[0]] = decodeURIComponent(pair[1]);
}
```
这段代码将URL中的参数解析为一个对象,可以通过访问键来获取值。例如,如果URL中包含参数`name=Tom&age=18`,则可以使用`result.name`获取`Tom`,使用`result.age`获取`18`。
相关问题
window.location.href表单传参
window.location.href可以用于页面跳转并传递参数。通过将参数添加到URL中的查询字符串中,可以在目标页面中获取这些参数。一种常见的方式是在URL中使用问号传参的方式,例如:window.location.href = "./punch/clock_frm.html?modFlag=" + modFlag + "&role=" + role。这样,modFlag和role参数的值就会被传递到目标页面中。在目标页面中,可以使用JavaScript解析URL中的查询字符串来获取这些参数。一个常见的方法是使用location.search来获取URL中的查询字符串部分,然后使用split和for循环来解析参数值。例如:
var url = location.search; //获取url中"?"符后的字串 (’?modFlag=business&role=1’)
var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);
var strs = str.split("&");
for (var i = 0; i < strs.length; i++) {
theRequest[strs[i].split("=")[0]] = (strs[i].split("=")[1]);
}
console.log(theRequest);
}
这样,theRequest对象就包含了传递的参数值。如果需要解决中文乱码问题,可以使用encodeURI对中文内容进行编码,例如:window.location.href = 'aaa.html?Unit=' + encodeURI(encodeURI(中文内容))。在接收页面中,可以使用decodeURI对URL进行解码,例如:decodeURI(window.location.href)。这样,就可以正确地传递和接收带有中文的参数值了。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [转载--window.location.href传参/传值汇总](https://blog.csdn.net/weixin_47382065/article/details/120264692)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
- *2* [记一次window.location.href传对象问题](https://blog.csdn.net/w979000397/article/details/123728766)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
window.location.href传参
window.location.href传参是一种在URL上拼接参数值进行传递的方法。可以直接使用window.location.href进行页面跳转,并在URL上通过问号传参的方式传递参数值。例如,使用window.location.href = "./punch/clock_frm.html?modFlag=" + modFlag + '&role=' + role; 可以将modFlag和role的值传递给目标页面。\[1\]
另外,还可以使用问号在URL上拼接参数值进行传递。例如,使用window.location.href = "/static/test.html?type=" + this.selected + '&value=' + val; 可以将this.selected和val的值传递给目标页面。\[2\]
需要注意的是,为了避免传递的参数值中包含特殊字符导致URL错误,可以使用encodeURI()函数对参数值进行编码。例如,使用window.location.href = encodeURI("这里是你要跳转的地址?id=" + id); 可以将id的值传递给目标页面。\[3\]
#### 引用[.reference_title]
- *1* [转载--window.location.href传参/传值汇总](https://blog.csdn.net/weixin_47382065/article/details/120264692)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [window.location.href跳转页面并传值及接收值](https://blog.csdn.net/qq_42969135/article/details/109360734)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [jq使用window.location.href传参和接收参数](https://blog.csdn.net/lucky_Lzx/article/details/107519438)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]