location.href如何传递参数
时间: 2023-06-27 08:05:38 浏览: 96
可以在url后面添加参数,例如:
```
http://example.com/?id=123&name=John
```
可以使用JavaScript获取当前页面的URL,然后添加参数:
```javascript
var url = window.location.href;
url += (url.match(/\?/) ? '&' : '?') + 'param=value';
window.location.href = url;
```
上述代码会将当前URL添加一个名为`param`,值为`value`的参数。如果URL中已经存在参数,则使用`&`符号作为分隔符,否则使用`?`符号作为分隔符。
相关问题
window.location.href传递参数
可以使用window.location.href进行页面跳转并传递参数。例如,可以使用以下代码将参数传递给新页面:
window.location.href = "./punch/clock_frm.html?modFlag=" + modFlag + "&role=" + role;
在新页面接收参数并将其转换为可用的JSON格式,可以使用以下方法:
var url = location.search; //获取url中"?"符后的字串
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解码回来,如下所示:
var param = decodeURI(window.location.href);<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [转载--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^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *3* [window.open 以post方式传递参数示例代码](https://download.csdn.net/download/weixin_38655011/13621948)[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^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
window.location.href传递很多参数
使用window.location.href传递很多参数时,一般情况下我们可以在URL中使用"?"拼接参数,但这种方式存在长度限制,当参数达到一定长度时会导致浏览器报错,无法正常传递参数。为了避免这个问题,我们可以使用括号对window.location.href进行包裹,并将参数传递给它,例如:
```javascript
if(data != null){
alert("能够返回到运行界面!!!!!");
var cid = data.cid;
alert("传往第二个界面的万能id的参数为:" + cid);
window.location.href = ("*******.jsp?cid=" + cid);
}
```
这样,在另一个页面中就可以自由地使用传递过来的参数,而不需要再进行复杂的判断和字符串截取等操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [两个jsp界面之间使用window.location.href使用?传递参数以及接受参数](https://blog.csdn.net/weixin_30655219/article/details/94797217)[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/weixin_30375427/article/details/97591350)[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 ]
阅读全文