node.js - url.searchParams 在node.js 中返回未定义

标签 node.js

在以下 Node.js 示例中:

var url = require('url');
var urlString='/status?name=ryan'
var parseObj= url.parse(urlString);

console.log(urlString);
var params = parseObj.searchParams;
console.log(JSON.stringify(params));

属性 searchParams 未定义。我希望 searchParams 包含搜索查询的参数。

最佳答案

正如您在 https://nodejs.org/dist/latest-v8.x/docs/api/url.html#url_class_urlsearchparams 中看到的那样

searchParams 是 URL 对象的代理。您必须获得一个新的 URL 完整对象(带有域和协议(protocol)),然后您可以使用 searchParams:

var url = require('url');
var urlString='https://this.com/status?name=ryan'
var parseObj= new url.URL(urlString);

console.log(urlString);
var params = parseObj.searchParams;
console.log(params);

另一种方法是使用 query 属性(您必须将 true 作为第二个参数传递给 url.parse):

var urlString='/status?name=ryan'
var parseObj= url.parse(urlString, true);

console.log(parseObj);
var params = parseObj.query;
console.log(params);

关于node.js - url.searchParams 在node.js 中返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47963495/

相关文章:

node.js - 如何更快地在 Node 检查器中找到应用程序脚本?

javascript - Node/JS - 类构造函数变量未定义

node.js - 如何在 EJS View 中使用 Node 模块(如 MomentJS)?

javascript - 解析 url 中参数列表的正确方法

node.js - 在 Jupyter Notebook 中安装 JS Node

node.js - 将 TCP 客户端的主机名发送到 Node JS 中的服务器

node.js - Node 路由器无法使用异步等待从 Sequelize 获取数据

node.js - Mongoose ODM findOneAndUpdate 子文档

node.js - ts-node 编程使用 require ('ts-node/register' )

javascript - 使用 Gulp 时 AngularJS 组件配置错误