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


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


 一、parse函數的基礎用法

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

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

運行結果:

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/' }

二、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/' }

三、parse函數 —— 解析主機;

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

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

運行結果:

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/' }

四、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'

五、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 的工具。它提供下列方法:


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

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

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

二、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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM