node.js--闪出消息
来源:互联网 发布:广州网络优化 编辑:程序博客网 时间:2024/05/16 11:28
前面说了创建,显示,编辑,删除。现在说说闪出消息,比如创建完成了,显示创建成功,编辑之后显示修改成功,删除之后显示删除成功,总之要让用户知道自己的操作是成功还是失败
步骤:
1)将一下两行内容加到app.configure中去:
app.use(express.cookieParser());//告诉ExpressParser启用cookieParser,用于保存回话。
app.use(express.session({ secret: "OZhCLfxlGp9TtzSXmJtq" }));//给Express设置一个用于保护回话安全的密码。
2)在路由中设置提示信息:
app.get('/tasks', function(req, res){
Task.find({}, function (err, docs) {
res.render('tasks/index', {
title: 'Tasks index view',
docs: docs,
flash: req.flash()
});
});
});
app.get('/tasks/new', function(req, res){
res.render('tasks/new.jade', {
title: 'New task view',
flash: req.flash()
});
});
app.post('/tasks', function(req, res){
var task = new Task(req.body.task);
task.save(function (err) {
if (!err) {
req.flash('info', 'Task created');
res.redirect('/tasks');
}
else {
req.flash('warning', err);
res.redirect('/tasks/new');
}
});
});
app.get('/tasks/:id/edit', function(req, res){
Task.findById(req.params.id, function (err, doc){
res.render('tasks/edit', {
title: 'Edit Task View',
task: doc
});
});
});
app.put('/tasks/:id', function(req, res){
Task.findById(req.params.id, function (err, doc){
doc.updated_at = new Date();
doc.task = req.body.task.task;
doc.save(function(err) {
if (!err){
req.flash('info', 'Task updated');
res.redirect('/tasks');
}
else {
// error handling
}
});
});
});
app.del('/tasks/:id', function(req, res){
Task.findById(req.params.id, function (err, doc){
if (!doc) return next(new NotFound('Document not found'));
doc.remove(function() {
req.flash('info', 'Task deleted');
res.redirect('/tasks');
});
});
});
3)将闪出消息抽象成一个mixin:flash-messages.jade。
mixin flash-messages(flash)
- if(flash.warning)
div.alert-message.warning
p= flash.warning
- if(flash.info)
div(data-alert='alert').alert-message.success
p= flash.info
4)在显示层添加jade模板来检查消息是否存在,如果存在则显示出来。
h1 Your tasks
p
a(href='/tasks/new', class='btn primary') Add a Task
-if(typeof flash != 'undefined')
include ../mixins/flash-messages
mixin flash-messages(flash)
- if(docs.length)
table
tr
th Task
th
th
each task in docs
tr
td #{task.task}
td
a.btn(href="/tasks/#{task.id}/edit") Edit
td
form(method='post', action='/tasks/' + task.id)
input(name='_method', value='DELETE', type='hidden')
button.btn(type='submit') Delete
- else
p You don't have any tasks!
那么,增加,删除,显示成功的话,则会提示用户。
0 0
- node.js--闪出消息
- node.js+redis消息队列
- APNS消息推送(node.js实现)
- 4.Node.js 微信消息管理
- Node.js垂直水平扩展与消息集成方案
- node js 微信公众号,模板消息开发测试
- Node.js UDP服务器无法收到客户端消息
- socket.io node.js实时消息信息展示
- Node.Js+Redis+Socket.IO 实现 聊天室或推送消息
- 基于Redis的简单消息队列模块(Node.js)
- 游戏软件闪出健康忠告
- 侯健便闪出来 水浒传
- js node
- Node.JS:
- node js
- node.js
- node.js
- node.js
- 数据结构之链表学习(1)
- 设计模式7——结构型模式之适配器模式
- iOS中相册的学习记录
- Delphi中拖动无边框窗口的5种方法
- IO之File类
- node.js--闪出消息
- node.js--验证输入的数据
- B*树索引——Oracle的默认索引结构
- 虚函数的一些特性
- python下配置Django开发环境
- POJ3467 Cross Counting
- iOS App Programming Guide => State Preserve/Restore & Resources
- Javascript模块化编程
- wordnet学习记录