如何使用翡翠模板从 Redis 数据库中删除 html 列表项
How do I delete an html list item from Redis database using Jade template?
我有一个非常简单的待办事项列表应用程序(按照下面评论中的教程)使用node.js,express和jade。该应用程序可以工作,因此我可以将项目添加到列表中,并使用与列表项名称相同的 id 保存到 redis 数据库中。
现在如何编辑我的玉石模板,以便在列表项旁边显示一个删除按钮,当我单击它时,该项目将从数据库中删除?
以下是相关代码:
路由.js文件
exports.index = function(req, res){
res.render('index', { title: 'Welcome to JSPlayground Todo' });
};
var redis = require("redis"),
client = redis.createClient();
exports.todo = function(req, res){ //Pulls items from database to display on page
var todos = [];
client.hgetall("Todo", function(err, objs) {
for(var k in objs) {
var newTodo = {
text: objs[k]
};
todos.push(newTodo);
}
res.render('todo', {
title: 'New Todo List',
todos: todos
});
});
};
exports.saveTodo = function(req, res) { //Saves a list item from input box to database
var newTodo = {};
newTodo.name = req.body['todo-text'];
newTodo.id = newTodo.name.replace(/ /g, '');
//console.log(newTodo.id);
//console.log(newTodo.name);
client.hset("Todo", newTodo.id, newTodo.name);
res.redirect("back");
};
待办事项.翡翠文件
h1 new todo list
form(action="/save", method="post")
p
label Enter a new todo item
input(type='text',placeholder='new todo', name='todo-text')
p
input(type='submit', value='Save')
ul
each todo in todos
li #{todo.text}
如果我在模板页面上创建链接
a(href="/del") del
并将/del 路由到路由.js文件中的此函数
exports.delTodo = function(req, res) {
var delTodo = {};
delTodo.id = "Test";
client.hdel("Todo", delTodo.id);
res.redirect("back");
};
它将删除 ID 为"测试"的单个列表项。但我不确定如何让它删除单击的特定列表项。
更改
a(href="/del") del
自
a(href="/del/#{todo.id}") del
确保已启用快速正文分析器。
app.user(express.bodyParser());
然后修改路线,如下所示
app.routes('/del/:todo_id', delTodo);
然后在路由中.js按如下所示访问它。
exports.delTodo = function(req, res) {
var delTodoId = req.params.todo_id;
client.hdel("Todo", delTodoId);
res.redirect("back");
};
相关文章:
- 解析云代码作业:删除在数据库中已经存在一个小时的行
- 删除数据库(JSP)上的一行
- 使用Ajax和JQuery从SQL数据库中添加和删除一行
- 如何让ajax与数据库交互,以便发布、获取和删除
- 从mysql数据库中删除项目,然后返回最后一页
- 如何无限删除PouchDB数据库以释放空间
- 使用ajax从数据库Mvc中的表中删除行
- 在Meteor中删除Mongo数据库集合
- 3 选项从数据库中删除更改时选择设置值
- Html-从数据库中删除一行
- 使用数据库中的图像填充dropzone.js删除图像的问题
- Vue.js $remove从数据库中删除后不删除元素
- 索引数据库:删除功能不起作用
- 在删除数据库值之前具有确认屏幕
- 在确认屏幕后删除数据库值 - 值不删除
- 索引数据库删除数据库不会重置版本
- 创建 WebSQL 数据库,然后删除自身
- 使用 app.delete [express.js] 删除 mongo 数据库中的集合
- 删除 localStorage,Chrome/Chromium 中选项卡的数据库存储
- 使用 PHP、Ajax 从数据库中删除