2017-07-10 153 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

相關問題