我对节点场景很陌生,我正在使用express和jade,我设法让一个简单的1页应用程序工作。目前,登录页面作为默认页面。一旦用户通过数据库进行身份验证,就会调用函数loginUser()。
我想做的是在输入此功能后改变我的观点,我尝试了几种但到目前为止没有运气。
以下是我的初始视图在服务器1st启动时的呈现方式
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'));
有关如何在我的index.js中调用某个函数后如何显示第二个视图“/ newpage”的任何信息将不胜感激
谢谢!
答案 0 :(得分:0)
您的app.get('/newpage', function (req, res)
函数告诉Express,当有yourwebsite.com/newpage
的GET HTTP请求时,它会呈现标题为mainpage
的{{1}}。到目前为止,这看起来是正确的。
要回答您的问题,如果登录信息正确(我猜测Home
是否成功),您只需要将客户端登录按钮设为此/newpage
的链接即可。否则,请返回主页loginUser()
或以页面或同一主页显示'/'
。
您可以在Express服务器中处理此逻辑,作为PUT或POST请求,使用your password was incorrect
或app.post()
发送登录信息。您还可以在GET(app.put()
)请求标题中添加某种形式的身份验证,以确保客户端确实是他们所说的人。如果您打印出部分响应或请求快递中的对象,您可以查看响应和请求的详细信息。 Express非常简洁,您可以在某个请求进入某个路径时添加功能,例如,计算您获得的请求数量,或用于调试目的。