2016-02-29 53 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'。可以帮我解决这个问题 –