牛骨文教育服务平台(让学习变的简单)
博文笔记

URL常用解析方式

创建时间:2016-05-04 投稿人: 浏览次数:1400

先上一段代码说明之。

var url     = require("url"),
    path    = require("path");

module.exports = function(req, res, next){
    var REQURL = url.parse(req.url).pathname;
    console.log(req.url," REQURL=",REQURL);
    var PATH = path.basename(REQURL);
    console.log(req.url," PATH=",PATH);
    next(); 
};

如果req对应的url请求地址为http://localhost/aaaa/bbbb/cccc?x=y

那么,其中REQURL值为”/aaaa/bbbb/cccc”,PATH的值为”cccc”(最后一个/号后面的内容,且不带’/’号和问号),本身req.url的值为”/aaaa/bbbb/cccc?x=y”(就是网址主机后面整个部分)

判断请求的url是否等于某一个位置”/xxx”,可以这样:

if (req.url == "/xxx") {
    //your code
} else next();

但是上面的是完全判断,req.url中带了参数,如果需要纯粹的判断,可以用这个url.parse(req.url).pathname,也就是上面的REQURL。

提取url中的参数和获得post参数可以看另一篇博客。

判断url的第一个请求子目录是否为”/xxxx”可以这样做:

var     path    = require("path");
var PATH = req.url.toString();
if (PATH.indexOf("/xxxx") == 0){
    // your code
} else next();

关于Buffer.indexOf()这个函数的具体说明,可以看这里。

新手入门,写个备忘,菊苣们见谅。

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。