nodejs筆記三--url處理、Query String;

URL--該模塊包含用以 URL 解析的實用函數。 使用 require('url') 來調用該模塊。html


 1、parse函數的基礎用法node

parse函數的做用是解析url,返回一個json格式的數組,請看以下示例:json

var url = require('url');
url.parse('http://sports.sina.com.cn/nba/')

運行結果:api

protocol: 'http:',
slashes: true,
auth: null,
host: 'sports.sina.com.cn',
port: null,
hostname: 'sports.sina.com.cn',
hash: null,
search: null,
query: null,
pathname: '/nba/',
path: '/nba/',
href: 'http://sports.sina.com.cn/nba/' }

2、parse函數 —— 條件解析;數組

parse函數的第二個參數是布爾類型,當參數爲true時,會將查詢條件也解析成json格式的對象。函數

var url = require('url');
url.parse('http://sports.sina.com.cn/nba/',true)

運行結果:工具

protocol: 'http:',
slashes: true,
auth: null,
host: 'sports.sina.com.cn',
port: null,
hostname: 'sports.sina.com.cn',
hash: null,
search: '',
query: {},
pathname: '/nba/',
path: '/nba/',
href: 'http://sports.sina.com.cn/nba/' }

3、parse函數 —— 解析主機;ui

parse函數的第三個參數也是布爾類型的,當參數爲true,解析時會將url的"//"和第一個"/"之間的部分解析爲主機名,示例以下:url

var url = require('url');
url.parse('http://sports.sina.com.cn/nba/',false,true)

運行結果:spa

protocol: 'http:',
slashes: true,
auth: null,
host: 'sports.sina.com.cn',
port: null,
hostname: 'sports.sina.com.cn',
hash: null,
search: null,
query: null,
pathname: '/nba/',
path: '/nba/',
href: 'http://sports.sina.com.cn/nba/' }

4、url.format(urlObj)

format函數的做用與parse相反,它的參數是一個JSON對象,返回一個組裝好的url地址,請看以下示例:

var url = require('url');
url.format({
    protocol: 'http:',
    hostname: 'www.baidu.com',
    port: '80',
    pathname: '/news',
    query: {
        page: 1
    }
});

運行結果:

'http://www.baidu.com:80/news?page=1'

5、resolve函數的基礎用法;

url.resolve(from, to),resolve函數的參數是兩個路徑,第一個路徑是開始的路徑或者說當前路徑,第二個則是想要去往的路徑,返回值是一個組裝好的url,示例以下:

var url = require('url');
 
url.resolve('http://example.com/', '/one')  // 'http://example.com/one'
url.resolve('http://example.com/one', '/two') // 'http://example.com/two'

Query String--這個模塊提供一些處理 query string 的工具。它提供下列方法:


 1、querystring.stringify(obj, [sep], [eq])

序列化一個對象到一個 query string。能夠選擇是否覆蓋默認的分割符('&')和分配符('=')。

querystring.stringify({name:'jone',age:28},',',':')
// 運行結果
'name:jone,age:28'

2、querystring.parse(str, [sep], [eq], [options])

將一個 query string 反序列化爲一個對象。能夠選擇是否覆蓋默認的分割符('&')和分配符('=')。

querystring.parse('name=jone&age=28&work=teacher&address')
// 運行結果
{ name: 'jone', age: '28', work: 'teacher', address: '' }

相關API參考:http://nodeapi.ucdok.com/#/api/all.html

相關文章
相關標籤/搜索