• Node.js Video Tutorials

NodeJS - urlObject.query 屬性



NodeJS urlObject.query 屬性用於指定 URL 中的查詢字串部分,不包含開頭的 ASCII 問號 (?),或者由 querystring 模組的 parse() 方法返回的物件。

例如,考慮以下 URL 'https://user:pass@site.com:8/pa/th?q=val#hash'。

  • “?q=val” 是查詢字串部分,但 query 屬性在返回值中將排除 (?)。

query 屬性的返回值取決於傳遞給 url.parse() 方法的 parseQueryString 引數。

  • 如果傳遞給 parse() 方法的引數為 “true”,則 urlObject.query 屬性的返回值將為 {‘query’ : ‘string’} 物件。

  • 如果傳遞給 parse() 方法的引數為 “false”,則 urlObject.query 屬性的返回值將為 ‘query=string’。

查詢字串的解碼將按如下方式進行

  • 如果 urlObject.query 屬性的返回值為字串,則不執行查詢字串的解碼。

  • 如果 urlObject.query 屬性的返回值為物件,則將對鍵值對進行解碼。

語法

以下是NodeJS urlObject.query 屬性的語法

urlObject.property

引數

此屬性不接受任何引數。

返回值

此屬性檢索不包含開頭的 ASCII 字元的查詢字串,或者由 querystring.parse() 方法返回的物件。

示例

如果將 “true” 作為引數傳遞給 url.parse() 方法,則 urlObject.query 屬性的結果將為 {‘query’ : ‘string’} 物件。

以下示例演示了 NodeJS query 屬性的使用。

const url = require('url');
let address = 'https://user:pass@site.com:80000/pa/th?q=val#hashh';
let result = url.parse(address, true);
console.log(result.query);

輸出

正如我們在下面的輸出中看到的,query 屬性返回了 {‘query’: ‘string’} 物件作為值。

{ q: 'val' }

示例

如果將 “false” 作為引數傳遞給 url.parse() 方法,則 urlObject.query 屬性的結果將為 ‘query=string’ 格式。

以下示例演示了 NodeJS query 屬性的使用。

const url = require('url');
let address = 'https://user:pass@site.com:80000/pa/th?q=val#hashh';
let result = url.parse(address, false);
console.log(result.query);

輸出

以下是上述程式碼的輸出,其中 query 屬性返回 ‘query=string’ 作為值。

q=val

示例

如果提供的 URL 字串未使用 parse() 方法進行解析,則 query 屬性將返回 undefined。

在以下示例中,我們嘗試在未解析提供的 URL 的情況下使用 query 屬性。

const url = require('url');
let address = 'https://user:pass@site.com:80000/pa/th#hashh';
console.log(address.query);

輸出

正如我們在下面的輸出中看到的,query 屬性的結果為 undefined。

undefined
nodejs_url_module.htm
廣告

© . All rights reserved.