用query-string模块中的方法查询URL中的参数,若存在参数则更新参数值,若不存在则拼接参数和参数值到URL上
时间: 2024-04-10 07:30:39 浏览: 212
对不起,我之前的回答有误。确实,query-string 模块中没有 `stringifyUrl` 方法。但我们可以使用其他方法来实现你的需求。
你可以使用 `parseUrl` 和 `stringify` 方法来查询和更新 URL 中的参数。下面是一个示例代码:
```javascript
const queryString = require('query-string');
function updateURLParameter(url, param, value) {
const parsedUrl = queryString.parseUrl(url);
const { query } = parsedUrl;
if (query[param]) {
// 如果参数已存在,则更新参数值
query[param] = value;
} else {
// 如果参数不存在,则拼接参数和参数值到URL上
query[param] = value;
}
const updatedURL = queryString.stringifyUrl({
url: parsedUrl.url,
query: query
});
return updatedURL;
}
// 示例用法
const url = 'https://www.example.com/?name=John&age=30';
const updatedURL = updateURLParameter(url, 'age', '25');
console.log(updatedURL);
// 输出: "https://www.example.com/?name=John&age=25"
const newURL = updateURLParameter(url, 'profession', 'developer');
console.log(newURL);
// 输出: "https://www.example.com/?name=John&age=30&profession=developer"
```
在上述代码中,我们首先使用 `parseUrl` 方法将 URL 字符串解析为对象,然后获取其中的 `query` 对象。然后,我们检查参数是否存在于 `query` 中,如果存在则更新参数值,如果不存在则将参数和参数值添加到 `query` 中。最后,我们使用 `stringifyUrl` 方法将更新后的对象重新构建为 URL 字符串。
希望这个示例满足了你的需求。如果你有更多问题,请随时提问!
阅读全文