2013-10-08 100 views
5

我已經寫在的NodeJS下面的代碼:Url.parse()對象中的href和path有什麼區別?

var Url = require("url"); 

// create server ... req, res 

var queryData = Url.parse(req.url, true); 
console.log(queryData); 

// listen (...) 

的URL從瀏覽器/test?param1=val1queryData是這樣一個對象:

{ protocol: null, 
    slashes: null, 
    auth: null, 
    host: null, 
    port: null, 
    hostname: null, 
    hash: null, 
    search: '?param1=val1', 
    query: { param1: 'val1' }, 
    pathname: '/test', 
    path: '/test?param1=val1', 
    href: '/test?param1=val1' } 

什麼是pathhref領域之間的區別,從解析url對象?

有沒有什麼情況他們是不是一樣嗎?


編輯:我看到文檔中的href是 「The full URL that was originally parsed. Both the protocol and host are lowercased.」。

例: 'http://user:[email protected]:8080/p/a/t/h?query=string#hash'

爲什麼我沒有得到href這樣嗎?如果我向網址添加#hash,則href從對象中是沒有更改

+0

http://nodejs.org/api/url.html –

回答

6

documentation

HREF:最初解析的完整URL。協議和 主機都是小型的。示例: 'http://user:[email protected]:8080/p/a/t/h?query=string#hash'

路徑:路徑名和搜索的連接。例如: '?/ P/A/T/H查詢=字符串'

+0

我更新了我的問題。爲什麼'#hash'沒有出現在對象的'href'字段中? –

+1

當通過瀏覽器請求URL時,URL的'hash'部分不會發送到服務器。你可以通過檢查你的'req.url'源參數來看到。 –

+1

這是正確的。謝謝! –

相關問題