在以下 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/