午夜国产狂喷潮在线观看|国产AⅤ精品一区二区久久|中文字幕AV中文字幕|国产看片高清在线

    nodejs中轉(zhuǎn)換URL字符串與查詢字符串詳解
    來源:易賢網(wǎng) 閱讀:3320 次 日期:2014-11-28 10:46:06
    溫馨提示:易賢網(wǎng)小編為您整理了“nodejs中轉(zhuǎn)換URL字符串與查詢字符串詳解”,方便廣大網(wǎng)友查閱!

    一個(gè)完整的URL字符串中,從"?"(不包括?)到"#"(如果存在#)或者到該URL字符串結(jié)束(如果不存在#)的這一部分稱為查詢字符串.

    可以使用Query String模塊中的parse方法將該字符串轉(zhuǎn)換為一個(gè)對(duì)象,parse方法的使用方式如下所示:

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

    str表示被轉(zhuǎn)換的查詢字符串,

    sep.字符串中的分隔符,默認(rèn)是&

    eq.該字符串中的分配符,默認(rèn)為=."="左邊是key,右邊是value

    options:是一個(gè)對(duì)象,可以在該對(duì)象中使用一個(gè)整數(shù)值類型的maxKeys屬性來指定轉(zhuǎn)換后的對(duì)象中的屬性個(gè)數(shù),如果將maxKeys屬性值設(shè)定為0.其效果等于不使用maxKeys屬性值

    代碼如下:

    var querystring=require("querystring");

    var str="username=guoyansi&age=40&sex=male";

    var res=querystring.parse(str);

    console.log("1:%j",res);//1:{"username":"guoyansi","age":"40","sex":"male"}

    res=querystring.parse(str,"!");

    console.log("2:%j",res);//2:{"username":"guoyansi&age=40&sex=male"}

    res=querystring.parse(str,"&");

    console.log("3:%j",res);//3:{"username":"guoyansi","age":"40","sex":"male"}

    str="username=guoyansi!age=40!sex=male";

    res=querystring.parse(str,"!");

    console.log("4:%j",res);//4:{"username":"guoyansi","age":"40","sex":"male"}

    res=querystring.parse(str,"!","=");

    console.log("5:%j",res);//5:{"username":"guoyansi","age":"40","sex":"male"}

    res=querystring.parse(str,"!",":");

    console.log("6:%j",res);//6:{"username=guoyansi":"","age=40":"","sex=male":""}

    res=querystring.parse(str,"!","=",{maxKeys:2});

    console.log("7:%j",res);//7:{"username":"guoyansi","age":"40"}

    stringify是將字符串轉(zhuǎn)化成查詢字符串的格式.

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

    代碼如下:

    var querystring=require("querystring");

    var res= querystring.stringify({"username":"guoyansi","age":"40","sex":"male"});

    console.log(res);//username=guoyansi&age=40&sex=male

    res=querystring.stringify({"username":"guoyansi","age":"40","sex":"male"},"!");

    console.log(res);//username=guoyansi!age=40!sex=male

    res=querystring.stringify({"username":"guoyansi","age":"40","sex":"male"},"&",":");

    console.log(res);//username:guoyansi&age:40&sex:male

    res=querystring.stringify({"username":"guoyansi","age":["40","24"]},"&","=");

    console.log(res);//username=guoyansi&age=40&age=24

    在url模塊中,可以使用parse()方法將URL字符串轉(zhuǎn)換為一個(gè)對(duì)象,根據(jù)URL字符串中的不同內(nèi)容,該對(duì)象可能具有的屬性及其含義如下.

    href:被轉(zhuǎn)換的原URL字符串.

    protocol:客戶端發(fā)出請(qǐng)求時(shí)使用的協(xié)議.

    slashes:在協(xié)議與路徑中間時(shí)候使用"http://"分隔符.

    host:URL字符串中的完整地址及端口號(hào),該地址可能為一個(gè)IP地址,也可能為一個(gè)主機(jī)名.

    auth:URL字符串中的認(rèn)證信息部分.

    hostname:URL字符串中的完整地址,該地址可能為一個(gè)IP地址,也可能為一個(gè)主機(jī)名.

    search:Url字符串中的查詢字符串,包含起始字符"?"

    path:url字符串中的路徑,包含查詢字符串.

    query:url字符串中的查詢字符串,不包含起始字符"?",或根據(jù)該查詢字符串而轉(zhuǎn)換的對(duì)象(根據(jù)parse()方法所用參數(shù)而決定query屬性值);

    hash:url字符串中的散列字符串,包含起始字符"#".

    url.parse(urlstr,[parseQueryString]);

    urlStr:是需要轉(zhuǎn)換的URL字符串,

    parseQueryString:是一個(gè)布爾值,當(dāng)參數(shù)為true時(shí),內(nèi)部使用querystring模塊查詢字符串轉(zhuǎn)換為一個(gè)對(duì)象,參數(shù)值為false時(shí)不執(zhí)行該轉(zhuǎn)換操作,默認(rèn)是false

    代碼如下:

    var url=require("url");

    var str="";

    var res=url.parse(str);

    console.log(res);

    復(fù)制代碼 代碼如下:

    { protocol: 'http:',

    slashes: true,

    auth: 'user:pass',

    host: 'host:8080',

    port: '8080',

    hostname: 'host',

    hash: '#name1',

    search: '?username=sisi&age=24&sex=male',

    query: 'username=sisi&age=24&sex=male',

    pathname: '/,com/users/user.php',

    path: '/,com/users/user.php?username=sisi&age=24&sex=male',

    href: 'http://user:pass@host:8080/,com/users/user.php?username=sisi&age=24&sex=male#name1' }

    復(fù)制代碼 代碼如下:

    var url=require("url");

    var str="";

    var res=url.parse(str,true);

    console.log(res);

    復(fù)制代碼 代碼如下:

    { protocol: 'http:',

    slashes: true,

    auth: 'user:pass',

    host: 'host:8080',

    port: '8080',

    hostname: 'host',

    hash: '#name1',

    search: '?username=sisi&age=24&sex=male',

    query: { username: 'sisi', age: '24', sex: 'male' },

    pathname: '/,com/users/user.php',

    path: '/,com/users/user.php?username=sisi&age=24&sex=male',

    href: 'http://user:pass@host:8080/,com/users/user.php?username=sisi&age=24&sex=male#name1' }

    第一個(gè)例子和第二個(gè)例子不同之處在于parse的第二個(gè)參數(shù),導(dǎo)致了結(jié)果中的query的不同

    可以將一個(gè)url轉(zhuǎn)換過的對(duì)象轉(zhuǎn)換成一個(gè)url字符串.

    代碼如下:

    var url=require("url");

    var str="";

    var res=url.parse(str,true);

    console.log(url.format(res));

    結(jié)果是:

    以上就是node中轉(zhuǎn)換URL字符串與查詢字符串的全部?jī)?nèi)容了,好好研究下,其實(shí)挺簡(jiǎn)單的。

    更多信息請(qǐng)查看IT技術(shù)專欄

    更多信息請(qǐng)查看腳本欄目
    易賢網(wǎng)手機(jī)網(wǎng)站地址:nodejs中轉(zhuǎn)換URL字符串與查詢字符串詳解
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

    2025國(guó)考·省考課程試聽報(bào)名

    • 報(bào)班類型
    • 姓名
    • 手機(jī)號(hào)
    • 驗(yàn)證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
    云南網(wǎng)警備案專用圖標(biāo)
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報(bào)警專用圖標(biāo)