使用Jade快速更改视图

使用Jade快速更改视图

问题描述:

我对节点场景非常陌生,我使用快捷键与翡翠并且设法使用简单的1页应用程序工作。目前,登录页面被用作默认页面,一旦用户通过数据库验证,就会调用函数loginUser()。使用Jade快速更改视图

我想要做的是改变我的观点,一旦进入这个功能,Iv'e尝试了几种方法,但没有运气到目前为止。

这里是如何在服务器启动一号

var express = require("express"); 
var app = express(); 
var port = 3700; 

app.set('views', __dirname + '/tpl'); 
app.set('view engine', "jade"); 

app.engine('jade', require('jade').__express); 

// Page 1 
app.get("/", function (req, res) { 
    res.render("page"); 
}); 

// Page 2 (Once logged in) 
app.get('/newpage', function (req, res) { 
    res.render('mainpage', { 
     title: 'Home' 
    }); 
}); 

app.get("/", function (req, res) { 
    res.send("It works!"); 
}); 
app.use(express.static(__dirname + '/public')); 

如何得到我的第二个观点“/ NEWPAGE”的任何信息显示,一旦某个函数被调用我的index.js我的初步看法是会呈现不胜感激

谢谢!

app.get('/newpage', function (req, res)函数告诉Express当存在对yourwebsite.com/newpage的GET HTTP请求时,它将渲染标题为Homemainpage。这看起来是正确的。

要回答你的问题,你只需要让客户端登录按钮成为这个/newpage的链接,如果登录信息是正确的(我猜如果loginUser()成功)。否则,请返回主页'/'或显示your password was incorrect作为页面或在同一主页上。

您可以在Express服务器中处理此逻辑,作为PUT或POST请求在其登录信息中发送app.post()app.put()。您还可以在您的GET(app.get())请求标头中添加某种形式的身份验证,以确保客户端确实是他们所说的那个人。如果您以快递方式打印部分回复或请求对象,可以查看回复和请求的详细信息。 Express是整洁的,因为您可以在特定请求转到特定路由时添加功能,比如说,计算您获得的请求数或调试目的。

+0

我已经删除了最后一条评论我明白现在要做什么,登录后我在页面上调用一个GET请求,我想允许登录用户看到,然后发送一个socket.emit消息“true”给客户端,我收到后可以更新视图。 感谢您的帮助! :d –