下面通过一段代码给大家介绍js中获取URL参数的共用方法getRequest()方法,具体代码如下所示: getRequest : function() { var url = location.search; //获取url中"?"符后的字串 var theRequest = new Object(); if (url.indexOf("?") != -1) { var str = url.substr(1); strs = str.split("&"); for(var i = 0; i < strs.length; i ++) { t 在JavaScript(JS)中,获取URL参数是一项常见的任务,它涉及到解析URL字符串并提取其中的键值对。这里我们将深入探讨如何使用自定义函数`getRequest()`来实现这一功能,并比较另一种常用的获取URL参数的方法。 让我们详细分析`getRequest()`方法的实现: ```javascript function getRequest() { var url = location.search; // 获取URL中"?"符后的字串 var theRequest = new Object(); if (url.indexOf("?") != -1) { // 检查URL是否包含查询字符串 var str = url.substr(1); // 移除第一个字符,即"?"号 strs = str.split("&"); // 将查询字符串分割成键值对数组 for (var i = 0; i < strs.length; i++) { theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]); // 分割键和值并存储到对象中 } } return theRequest; // 返回包含所有参数的对象 } ``` 这个函数首先获取URL的查询字符串(`location.search`),然后检查是否包含问号(`?`)。如果存在,它将查询字符串分割成键值对数组,并遍历该数组,将每个键值对的键和解码后的值分别存入一个对象中。返回这个对象,其中包含了所有URL参数。 现在,我们来看另一种获取URL参数的方法,即通过正则表达式: ```javascript function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null; } ``` 这个函数专门用于获取指定名称的参数值。它创建了一个正则表达式,用于匹配指定名称的参数,并从中提取值。然后,使用`match()`方法查找匹配项。如果找到匹配项,就返回解码后的值;否则,返回`null`。 除了正则表达式,还有通过拆分字符串的方式获取URL参数: ```javascript function GetRequest() { var url = location.search; // 获取URL中"?"符后的字串 var theRequest = new Object(); if (url.indexOf("?") != -1) { var str = url.substr(1); strs = str.split("&"); for (var i = 0; i < strs.length; i++) { theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]); } } return theRequest; } var req = GetRequest(); var from = req['from']; ``` 这个方法与`getRequest()`类似,但不是为了获取特定参数,而是返回一个包含所有参数的对象,你可以通过键名访问相应的值。 总结来说,`getRequest()`和`getQueryString()`函数提供了一种有效的方式来处理URL参数。`getRequest()`返回所有参数的集合,而`getQueryString()`则专注于获取特定参数的值。选择哪种方法取决于你的需求:如果你需要获取所有参数,`getRequest()`更为合适;如果你只关心某个特定参数,`getQueryString()`则是更简洁的选择。在实际开发中,理解这些基础方法对于处理URL和页面交互至关重要。





























- 粉丝: 3
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源



评论0