2016-02-29 68 views
0

我需要從快遞向瀏覽器發送警告消息。 所以,我需要幫助來做到這一點。目前我正在使用MEAN應用程序。 在這裏,我必須在Express和HTML之間進行通信。從快遞發送郵件到html

回答

0

查看快遞docs並瞭解回覆。例如:

app.get('/user/:id', function(req, res){ 
    res.send('user ' + req.params.id); // Send to view (html,jade, ejs) somethink message 
}); 

的RE對象表示一個Express應用發送 時,它得到一個HTTP請求的HTTP響應。

有更多的反應的方法,爲res.sendFileres.renderres.redirect

+1

其實我需要從EXPRESS發送一個彈出警告給browser.Is那可能嗎? –

+0

這種情況是,'如果用戶請求已經分配給其他用戶的url,那麼在檢查數據庫時,我需要警告用戶給出不同的URL'。可以幫我解決這個問題 –

+0

我試過了res .send,res.sendfile ...但他們不顯示彈出框 –

1

我會用快遞和.ejs作爲視圖引擎給你舉個例子。它比普通的.html提供更多的靈活性,但仍然很簡單(並且看起來幾乎相同)。

通過這種方式,您可以設置路由(您根據地址/路徑將用戶重定向到不同站點的方式),同時將數據傳遞到您的視圖。

router.js

var express = require('express'); 
var router = express.Router(); 

router.get('/', function (req, res, next) { 
    res.render('someView', {msg: 'Express'}); 
}); 

以上將通過一個名爲味精變量與價值快遞和渲染yourView(基本上是一些網頁)。

yourView.ejs

<!DOCTYPE html> 
<html> 
<head> 
    <title><%= msg %></title> // here is how you can use variable passed from back-end in .ejs templates 
</head> 
<body> 
<h1>Hello there</h1> 
</body> 
</html> 

當然你也可以傳遞數組,JSON,OBJ等你的看法。

router2.js

var arr = ['a', 'b', 'c']; 
var obj = {a: 1, b: 1, c: 2, d: 3, e: 5}; 
var objJSON = JSON.stringify(obj); 

res.render('demo', {arr: arr, objJSON: objJSON}); // key: value, so you will refer by key in your view 

你也可以在視圖的JS腳本中使用這個值。 例如這樣

// html/ejs markup here 
<body> 
// bla bla... 
<script> 
    var tmp = <%= msg %> 
    alert(tmp); 
    /* obviously you need some kind of logic when you want 
    alert/popup or whatever to happen. At least some simple IF statement. 
    */ 
</script> 
</body> 
</html> 

然而,更普遍的方式來顯示消息給最終用戶在明示用快速消息。看看這個link to Connect-Flash中間件。簡單的用法是exapl

+0

msg:'Express'看起來像一個彈出消息。因爲我需要顯示從EXPRESS –

+0

瀏覽器的彈出警告也是你給的例子很容易to understand.thankyou –

+0

這種情況是,'如果用戶請求已經分配了其他用戶的URL,那麼在檢查數據庫時,我需要警告用戶給出不同的URL'。可以幫我解決這個問題 –