Javascript Querystring.parse返回未定义的第一个值

Javascript Querystring.parse返回未定义的第一个值,javascript,node.js,Javascript,Node.js,我正在REPL中使用nodejs进行一个练习,我得到了一个URL,在通过process.argv[]访问它之后,我需要在上面使用querystring.parse(),以检索a和b的值并将它们记录到控制台。这是字符串: “” 这是到目前为止我的代码 const qs = require("querystring"); function fn() { var query = qs.parse(process.argv[2]);

我正在REPL中使用nodejs进行一个练习,我得到了一个URL,在通过process.argv[]访问它之后,我需要在上面使用querystring.parse(),以检索a和b的值并将它们记录到控制台。这是字符串:

“”

这是到目前为止我的代码

 const qs = require("querystring");   
        function fn() {
            var query = qs.parse(process.argv[2]);
            console.log("query a is " + query["a"]);
            console.log("query b is " + query["b"]);
        }
        module.exports.fn = fn();
本练习要求返回最后两个控制台日志,如下所示:

     'query a is 100'
     'query b is 200'
但我得到的结果是:

      query a is undefined
      query b is 200
当我返回查询对象本身时,我得到:

         { 'http://127.0.0.1:8080/test?a': '100', b: '200' }

qs解析查询字符串而不是URL

尝试使用URL解析器

(new URL(addr).search.substring(1))

qs.parse("title=querystring&action=edit") 
要获得通过的参数,请致电

new URL(addr).searchParams 

qs解析查询字符串而不是URL

尝试使用URL解析器

(new URL(addr).search.substring(1))

qs.parse("title=querystring&action=edit") 
要获得通过的参数,请致电

new URL(addr).searchParams 

因为querystring只解析查询,所以它将为您提供模块解析的两个查询

const qs=require(“查询字符串”);
函数fn(){
var query=qs.parse(process.argv[2]);
log(“查询a是”+查询[”http://127.0.0.1:8080/test?a"]);
log(“查询b为”+查询[“b”]);
}

module.exports.fn=fn()因为querystring只解析查询,所以它将为您提供模块解析的两个查询

const qs=require(“查询字符串”);
函数fn(){
var query=qs.parse(process.argv[2]);
log(“查询a是”+查询[”http://127.0.0.1:8080/test?a"]);
log(“查询b为”+查询[“b”]);
}

module.exports.fn=fn()我相信您需要“url”模块来解析完整的url,因为“querystring”模块本身只能正确解析查询字符串

const url = require("url")
const qs = require("querystring");   
    function fn() {
        const parsedUrl = url.parse(process.argv[2])
        const query = qs.parse(parsedUrl.query);
        console.log("query a is " + query["a"]);
        console.log("query b is " + query["b"]);
    }
    module.exports.fn = fn();

我相信您需要“url”模块来解析完整的url,因为“querystring”模块本身只能正确解析查询字符串

const url = require("url")
const qs = require("querystring");   
    function fn() {
        const parsedUrl = url.parse(process.argv[2])
        const query = qs.parse(parsedUrl.query);
        console.log("query a is " + query["a"]);
        console.log("query b is " + query["b"]);
    }
    module.exports.fn = fn();

我会,但是我需要同时使用URL和querystring模块nodejsI提交一些东西,但是我需要同时使用URL和querystring模块nodejs提交一些东西