2016-02-13 56 views
0

我對節點場景非常陌生,我使用快捷鍵與翡翠並且設法使用簡單的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我的初步看法是會呈現不勝感激

謝謝!

回答

0

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 –