JS实现页面跳转参数传递及接收方法
5星 · 超过95%的资源 需积分: 48 166 浏览量
更新于2024-09-17
2
收藏 1KB TXT 举报
"本文主要探讨了在JavaScript中如何在页面跳转时传递参数,并提供了不同方式的示例。"
在Web开发中,我们经常需要在不同的页面之间传递数据,这通常可以通过URL参数来实现。在JavaScript中,我们可以利用`window.location.href`属性来改变当前页面的URL,从而实现页面跳转并携带参数。以下是一些常见的方法:
1. 通过URL查询字符串传递参数:
```javascript
window.location.href = "Default2.aspx?id=111";
```
在这个例子中,我们通过在URL后面添加`?id=111`来传递一个名为"id"的参数,其值为"111"。在目标页面(这里是`Default2.aspx`)中,我们可以使用以下代码获取这个参数:
```javascript
var userId = location.search.substring(1, location.search.length);
```
`location.search`返回URL中的查询字符串(即`?`后面的部分),`substring(1)`则去掉开头的`?`,获取到实际的参数部分。
2. 使用函数打开新窗口传递参数:
```javascript
function openScript(url, width, height) {
var win = window.open(url, "openScript", 'width=' + width + ',height=' + height + ',resizable=1,scrollbars=yes,menubar=no,status=yes');
}
function openEm() {
openScript('UPLOAD.aspx', 450, 300);
}
```
这里定义了一个`openScript`函数,用于打开新窗口,并将参数`url`、`width`和`height`传递给新窗口。在`openEm`函数中,我们调用了`openScript`函数,传入了`UPLOAD.aspx`作为URL,以及窗口的宽度和高度。
3. 在父窗口与子窗口之间传递参数:
```html
<input id="Button1" type="button" value="上传图片" class="btn1_mouseover" onClick='window.opener.addNEWS.img.value=Text1.value;window.opener.addNEWS.img1.src=Text1.value;self.close()'/>
```
这段HTML代码表示一个按钮,当点击时,会将`Text1`元素的值分别赋给父窗口的`addNEWS.img.value`和`addNEWS.img1.src`,然后关闭当前窗口。这种方式适用于有父子窗口关系的场景。
4. 解析URL参数:
```javascript
// 解析URL参数
var URLParams = new Array();
var aParams = document.location.search.substr(1).split('&');
for (i = 0; i < aParams.length; i++) {
var aParam = aParams[i].split('=');
URLParams[aParam[0].toUpperCase()] = aParam[1];
}
// 获取特定参数
var n = URLParams["N"];
var m = URLParams["M"];
```
这段代码用于解析URL中的所有参数,并将其存储在一个对象`URLParams`中,键是参数名(转换为大写),值是参数值。之后可以使用`URLParams["N"]`和`URLParams["M"]`来获取名为"N"和"M"的参数。
通过这些方法,开发者可以根据需求灵活地在页面跳转时传递参数,实现页面间的数据交互。无论是简单地传递单个参数还是处理复杂的查询字符串,JavaScript都提供了足够的工具来支持。在实际应用中,应根据项目的需求选择合适的方法,并确保参数的安全性,避免敏感信息的泄露。
2020-12-02 上传
2018-05-10 上传
2020-12-14 上传
2020-09-28 上传
130 浏览量
2018-06-30 上传
2020-10-21 上传
点击了解资源详情
gongkuiwangjing
- 粉丝: 4
- 资源: 10
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍