获取url后面传递的参数

**

获取url后面的参数

**

var url = window.location.href; // 获取当前地址栏的地址
var str = url.indexOf("?")+1;  // 获取“?”的位置
var result = url.substr(str);  // 获取“?” 后面的 数据
//  若是传递 多个参数 则继续 下一步
var resultArr =  result.split("&");  // 将所传递的参数 分割开来 
### 获取 URL 参数的方法 在 UniApp 中有多种方法来获取 URL 后面参数。对于不同平台(H5、小程序),推荐的方式有所不同。 #### 使用内置属性 `this.$route.query` 和 `this.$mp.query` 当开发基于 Vue Router 的 H5 应用时,可以直接通过 `this.$route.query` 访问查询字符串中的键值对[^1]: ```javascript export default { mounted() { console.log(this.$route.query); } } ``` 而在微信小程序环境下,则应使用 `this.$mp.query` 来读取页面启动时传递过来的数据: ```javascript export default { onLoad(options) { console.log(this.$mp.query); } } ``` #### 自定义函数解析 URL 查询串 如果希望编写更通用的解决方案而不依赖于框架特定的功能,在 JavaScript 中也可以利用正则表达式或其他逻辑处理 URL 参数。下面是一个简单的例子,它可以在任何环境中工作[^2][^3]: ```javascript function getQueryVariable(variable) { const query = window.location.search.substring(1); const vars = query.split('&'); for (let i = 0; i < vars.length; i++) { const pair = vars[i].split('='); if (decodeURIComponent(pair[0]) === variable) { return decodeURIComponent(pair[1]); } } return undefined; } // Usage example: console.log(getQueryVariable('yourParameterName')); ``` 此代码片段会遍历整个查询字符串并返回指定名称对应的值;如果没有找到匹配项,则返回 `undefined`。 另外一种更加简洁的做法是在项目的入口文件(main.js)中创建一个全局可用的方法用于提取所有的 URL 参数作为对象返回[^4]: ```javascript Vue.prototype.$getURLParams = function () { let url = window.location.search; let theRequest = {}; if (url.indexOf('?') !== -1) { let str = url.substr(1).split('&'); for (let item of str) { let keyValue = item.split('='); theRequest[keyValue[0]] = decodeURIComponent(keyValue[1] || ''); } } return theRequest; }; ``` 之后就可以在整个应用里轻松调用 `$getURLParams()` 方法来获得所有参数了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值