node路徑參數(shù)獲取

字號(hào):


    node文件,參數(shù)跟php等開(kāi)發(fā)相似,單沒(méi)有后綴名
    比如訪問(wèn)php的為 index.php?path=1&site=forasp
    那么node的訪問(wèn)路徑為 index?path=1&site=forasp
    我們定義為 文件名?參數(shù)
    下面說(shuō)一下node.js如何獲取頁(yè)面名稱和參數(shù)的
    看代碼
    var http = require("http");
    var url = require("url");
    function servername(){
    http.createServer(function(request, response)
    {
    var pathname = url.parse(request.url).pathname;
    var argsstr = url.parse(request.url).query;
    response.writeHead(200, {"Content-Type": "text/plain"});
    response.write("page is"+pathname);
    response.write("args is"+argsstr);
    response.end();
    }).listen(8888);
    }
    exports.start = servername;
    這里有一個(gè)url類,是node環(huán)境提供的首先引入該類文件
    通過(guò)庫(kù)的對(duì)象進(jìn)行獲取url內(nèi)容
    var pathname = url.parse(request.url).pathname;
    這里是獲取路徑名稱也就是頁(yè)面內(nèi)容,如果你的訪問(wèn)路徑為 /a/b/c?參數(shù)
    那返回/a/b/c
    var argsstr = url.parse(request.url).query;
    這里是獲取整個(gè)?后的參數(shù),是個(gè)字符串,沒(méi)有解析對(duì)應(yīng)的變量?jī)?nèi)容。這個(gè)需要自己解析一下或者我還沒(méi)有看到關(guān)于參數(shù)解析的內(nèi)容的。
    通過(guò)上面的代碼訪問(wèn) http://192.168.79.129:8888/index?path=1&site=forasp
    反饋結(jié)果為 page is/indexargs ispath=1&site=forasp
    上面說(shuō)錯(cuò)了,解析很簡(jiǎn)單,比如訪問(wèn)為/?site=forasp&name=wangzhanzhizuo
    querystring(string)["site"]獲取的是forasp
    querystring(string)["name"]獲取的是wangzhanzhizuo
    上面就是對(duì)頁(yè)面url內(nèi)容的獲取,獲取后可以自己判斷選擇不同操作。