无法获取/在Node.js应用程序中如何重定向?

时间:2014-08-25 09:59:31

标签: node.js

我已经为所有具有功能的网址编写了app.get()。如果没有定义URL,有没有办法调用函数?

Angular有另一种方法,类似地是否有任何其他函数来重定向Node.js中未定义的URL?

app.post('/registration',register);

app.get('/user',UserRegistration);

如果我调用未写入的/ users,要调用哪个函数将其重定向到index.html页面。

2 个答案:

答案 0 :(得分:1)

您可以使用中间件

app.use(function(req, res, next) {
    res.redirect('/');
});

更多信息here

答案 1 :(得分:0)

如果您使用没有框架的Node.js,您的代码应如下所示:

var http = require('http'),
    url = require('url');

function parse (req, callback) {
    var path = [],
        u;

    u = url.parse(req);
    path = u.pathname.split('/');

    callback(path);
}

function send_cat2 (req, res, n) {
    //Generate /cat2/n
    //Send page n
}

http.createServer(function(req, res) {
    var path = parse(req);
    if(path[0] === 'cat1') {
        if(path[1] === 'page1') {
            // /cat1/page1
        } else if (path[1] === 'page2') {
            // /cat1/page2
        } else {
            // 404
        }
    } else if (path[0] === 'cat2') {
        // /cat2/n
        send_cat2(req, res, parseInt(path[1]));
    } else {
        // 404
    }
});