express中插入数据库后不能跳转

exports.adduser = function(db) {
    return function(req, res) {
        // Get our form values. These rely on the "name" attributes
        var userName = req.body.username;
        var userEmail = req.body.useremail;
        var collection = db.get('users');
        var llll = collection.insert({
            "userid": userName,
            "password": userEmail,
        })
        if (llll) {
            res.location('http://baidu.com');
        } else {
            res.send("error")
        }
    }
};

数据库是插入成功的,但是不会正确跳转至到百度
报错是 500 TypeError: res.location is not a function

这是什么原因?

阅读 2.6k
2 个回答

刚刚看了下,res.location是设置location请求头的

res.location('/foo/bar');
res.location('foo/bar');
res.location('http://example.com');
res.location('../login');
res.location('back');

可以使用与 res.redirect()里相同的urls

举个例子,如果你的程序根地址是/blog, 下面的代码会把 location 请求头设置为/blog/admin:

res.location('admin');

下面是重点

一般后端跳转都是用res.redirect([status], url),(状态可选,默认为302):

res.redirect('/foo/bar');
res.redirect('http://example.com');
res.redirect(301, 'http://example.com');

看下你是怎么调用这个方法的,可能是res没有正确传入使用

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题