带有get的express.js静态html

时间:2015-04-30 14:08:50

标签: javascript node.js express passport.js passport-local

在我的应用程序的首页上,用户可以注册一个帐户然后登录。它表示为首页上的登录和注册按钮,然后在单击时显示相应的表单。

如果用户已经登录,我想用注销按钮替换这两个按钮,但我需要先通知客户。

在我的index.js中,我正在提供静态html,如此

app.use(express.static('public'));

我以为我可以做以下

app.get('/', function(req, res) {
    // inform the client if req.user isn't null
});

但永远不会调用回调

2 个答案:

答案 0 :(得分:0)

嗯!我想会有一个登录/注册表格,所以必须有两个路由一个.get(),第二个路由.post()

app.get('/', function(req, res) {
    // This is for navigation to the home page
}).post('/', function(req, res){
    // inform the client here about the req.body.user
});

我想你已经设置了这个:

app.use(bodyParser.urlencoded({extended:true})); // for "formurlencoded"
app.use(bodyParser.json()); // for "application/json"

如果没有,那么您必须首先加载此模块require('body-parser')并仅在您使用 express 4 时才需要它。

答案 1 :(得分:0)

我找到了解决方案。

在我的index.js中,我有这个

app.get('/isloggedin', function(req, res) {
    res.json({ loggedin: (req.user != null) });
});

然后我可以发送/ isloggedin的get请求并处理结果

$.get('/isloggedin', {}, function(data) {
    if (!data.loggedin) {
        // remove logged-in only elements
    } else {
        // remove logged-out only elements
    }
});