亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        nodejs中轉換URL字符串與查詢字符串詳解

        字號:


            一個完整的URL字符串中,從"?"(不包括?)到"#"(如果存在#)或者到該URL字符串結束(如果不存在#)的這一部分稱為查詢字符串.
            可以使用Query String模塊中的parse方法將該字符串轉換為一個對象,parse方法的使用方式如下所示:
            querystring.parse(str,[sep],[eq],[options]);
            str表示被轉換的查詢字符串,
            sep.字符串中的分隔符,默認是&
            eq.該字符串中的分配符,默認為=."="左邊是key,右邊是value
            options:是一個對象,可以在該對象中使用一個整數(shù)值類型的maxKeys屬性來指定轉換后的對象中的屬性個數(shù),如果將maxKeys屬性值設定為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是將字符串轉化成查詢字符串的格式.
            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字符串轉換為一個對象,根據(jù)URL字符串中的不同內容,該對象可能具有的屬性及其含義如下.
            href:被轉換的原URL字符串.
            protocol:客戶端發(fā)出請求時使用的協(xié)議.
            slashes:在協(xié)議與路徑中間時候使用"http://"分隔符.
            host:URL字符串中的完整地址及端口號,該地址可能為一個IP地址,也可能為一個主機名.
            auth:URL字符串中的認證信息部分.
            hostname:URL字符串中的完整地址,該地址可能為一個IP地址,也可能為一個主機名.
            search:Url字符串中的查詢字符串,包含起始字符"?"
            path:url字符串中的路徑,包含查詢字符串.
            query:url字符串中的查詢字符串,不包含起始字符"?",或根據(jù)該查詢字符串而轉換的對象(根據(jù)parse()方法所用參數(shù)而決定query屬性值);
            hash:url字符串中的散列字符串,包含起始字符"#".
            url.parse(urlstr,[parseQueryString]);
            urlStr:是需要轉換的URL字符串,
            parseQueryString:是一個布爾值,當參數(shù)為true時,內部使用querystring模塊查詢字符串轉換為一個對象,參數(shù)值為false時不執(zhí)行該轉換操作,默認是false
            代碼如下:
            var url=require("url");
            var str="";
            var res=url.parse(str);
            console.log(res);
            復制代碼 代碼如下:
            { 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' }
            復制代碼 代碼如下:
            var url=require("url");
            var str="";
            var res=url.parse(str,true);
            console.log(res);
            復制代碼 代碼如下:
            { 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' }
            第一個例子和第二個例子不同之處在于parse的第二個參數(shù),導致了結果中的query的不同
            可以將一個url轉換過的對象轉換成一個url字符串.
            代碼如下:
            var url=require("url");
            var str="";
            var res=url.parse(str,true);
            console.log(url.format(res));
            結果是:
            以上就是node中轉換URL字符串與查詢字符串的全部內容了,好好研究下,其實挺簡單的。