2017-07-10 122 views
0

类型的错误:无法读取属性未定义

const URL= require("url").Url; 
 
const URLSearchParams= require("url"); 
 
var http=require("http"); 
 
var url_string = "http://www.example.com/t.html?a=1&b=3&c=m2-m3-m4-m5"; 
 
var url = new URL (url_string); 
 
var c = url.searchParams.get("a"); 
 
console.log(c);

嗨“得到”我是新来的JavaScript,我已经通过答题走了

How to get the value from the GET parameters?

我已经运行了上述代码,但我得到

Type error: cannot read property get of undefined. 

我无法找到答案的任何地方。有人可以帮助我,告诉我我的错误是什么?

+0

错误是告诉你,'.searchParams'是不确定的。 – Styphon

回答

0

在代码中,你使用:

const URL= require("url").Url; 

NodeJS documentation for the URL module说:

const { URL } = require('url'); // No .Url and with { } 

const myURL = new URL('https://example.org/?abc=123'); 
console.log(myURL.searchParams.get('abc')); 

编辑

const { URL }叫做destructuring assignment

此代码的工作对我来说,在节点v7.9测试:

const { URL } = require("url"); 
const URLSearchParams= require("url"); 
var url_string = "http://www.example.com/t.html?a=1&b=3&c=m2-m3-m4-m5"; 
var url = new URL (url_string); 
var c = url.searchParams.get("a"); 
console.log(c); // logs : 1 
+0

它显示错误“URL不是构造函数” – nuy5

+0

@ nuy5您运行的是哪个版本的节点? 'node -v' – CodingIntrigue

+0

iam使用版本6.11.0 – nuy5

0

documentation of 'url',它看起来像URL对象应该是大写:

const URL= require("url").URL; 
+0

如果以大写形式使用URL,则会发出错误:URL不是构造函数 – nuy5

相关问题