📜  节点 | urlObject.search API(1)

📅  最后修改于: 2023-12-03 15:41:25.545000             🧑  作者: Mango

节点 | URLObject.search API

在Node.js中,我们经常需要对URL进行各种操作,其中URLObject.search API是一个非常常用的API之一。它可以帮助我们获取或修改URL中的查询参数。

获取查询参数

我们可以使用URLObject.search API来获取URL中的查询参数。查询参数是指URL中?后面的字符串,也就是查询字符串。例如,对于以下URL:

https://www.example.com/search?q=nodejs&p=1

查询参数为?q=nodejs&p=1。我们可以通过以下代码获取这些查询参数:

const { URL } = require('url');
const myURL = new URL('https://www.example.com/search?q=nodejs&p=1');
console.log(myURL.search); // 输出 ?q=nodejs&p=1
修改查询参数

如果我们想要修改URL中的查询参数,我们可以使用URL.searchParams属性。searchParams属性返回一个URLSearchParams对象,我们可以使用该对象的各种方法来添加、删除或修改查询参数。

例如,我们可以通过以下代码替换URL中的q参数:

const { URL } = require('url');
const myURL = new URL('https://www.example.com/search?q=nodejs&p=1');
myURL.searchParams.set('q', 'javascript');
console.log(myURL.href); // 输出 https://www.example.com/search?q=javascript&p=1
添加查询参数

我们可以使用URLSearchParams.append()方法来向URL中添加新的查询参数。例如,我们可以通过以下代码向URL中添加一个新的查询参数:

const { URL } = require('url');
const myURL = new URL('https://www.example.com/search?q=nodejs&p=1');
myURL.searchParams.append('lang', 'en');
console.log(myURL.href); // 输出 https://www.example.com/search?q=nodejs&p=1&lang=en
删除查询参数

我们可以使用URLSearchParams.delete()方法来删除URL中的查询参数。例如,我们可以通过以下代码删除URL中的p参数:

const { URL } = require('url');
const myURL = new URL('https://www.example.com/search?q=nodejs&p=1');
myURL.searchParams.delete('p');
console.log(myURL.href); // 输出 https://www.example.com/search?q=nodejs
总结

URLObject.search API提供了一种方便的方式来操作URL中的查询参数。我们可以使用该API来获取、添加、修改和删除URL中的查询参数,从而满足我们的各种需求。