使用window.location.search;获取参数并修改
时间: 2024-09-26 15:10:31 浏览: 32
`window.location.search`是JavaScript中用于获取当前URL中查询字符串的部分,它通常包含一些传递给页面的键值对,形式为"?key1=value1&key2=value2"。你可以通过点`.`操作符访问这个属性,然后使用解析函数如`URLSearchParams`来获取和处理这些参数。
例如:
```javascript
var urlParams = new URLSearchParams(window.location.search);
console.log(urlParams.get('key1')); // 获取名为'key1'的参数值
// 修改参数值
urlParams.set('key1', 'newValue');
window.location.search = urlParams.toString(); // 将修改后的参数设置回URL
```
在这个例子中,首先创建了一个`URLSearchParams`对象,然后使用`get`方法获取参数值,如果需要更新,则使用`set`方法设置新的值,并最后将修改过的查询字符串赋值给`window.location.search`以便实时刷新页面展示更改。
相关问题
window.location.href获取参数
window.location.href是一个JavaScript内置对象,用于获取当前页面的URL地址。获取URL中的参数可以通过字符串截取的方式来实现,具体步骤如下:
1. 首先通过window.location.href获取当前页面的URL;
2. 通过indexOf方法获取参数在URL中的位置;
3. 通过substring方法截取出参数所在位置后的字符串;
4. 最后通过split方法将字符串以指定分隔符分割成一个数组,就可以得到所需的参数值了。
下面是一个示例代码:
```
// 获取URL中的参数值
function getUrlParam(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null) {
return decodeURIComponent(r);
}
return null;
}
// 使用示例
var id = getUrlParam('id');
console.log(id);
```
以上代码会获取当前页面URL中名为id的参数值,并输出到控制台中。
vue2 nuxt使用window.location.href没有获取到完整地址
在 Nuxt 中,可以使用 `this.$nuxt._router.history.base` 获取基本 URL,然后再使用 `window.location.pathname` 和 `window.location.search` 分别获取路径和查询参数,最后拼接起来即可获取完整地址。
示例代码如下:
```javascript
const fullPath = this.$nuxt._router.history.base + window.location.pathname + window.location.search;
console.log(fullPath);
```
其中,`this.$nuxt._router.history.base` 可以获取到 Nuxt 应用的基本 URL,如 `/my-app/`,而 `window.location.pathname` 可以获取到当前页面的路径,如 `/about`,`window.location.search` 可以获取到当前页面的查询参数,如 `?id=123`。最后将这三者拼接起来,就可以得到完整的地址。
阅读全文