zoukankan      html  css  js  c++  java
  • express实现todolist

    app.js

    var express = require('express');
    var todoController = require('./controllers/todoController.js');
    
    var app = express();
    
    app.set('view engine', 'ejs');
    
    app.use(express.static('./assets'));
    
    todoController(app);
    
    app.listen(3000);
    
    console.log('listen to port 3000');

    todo.ejs

    <form>
        <input type="text" name="item" placeholder="Add new item..." required/>
        <button type="submit">Add Item</button>
    </form>
    <ul>
        <% todos.forEach(function(todoItem) { %>
            <li><%= todoItem.item %></li>
        <% }) %>
    </ul>
    </div>

    todoController.js

    var bodyParser = require('body-parser');
    
    var urlencodedParser = bodyParser.urlencoded({ extended: false});
    
    var mongoose = require('mongoose');
    
    mongoose.connect('mongodb://bbcfive:bbc123@ds037047.mlab.com:37047/todolistdatabase');
    
    var todoSchema = new mongoose.Schema({
        item: String
    });
    
    var Todo = mongoose.model('Todo', todoSchema);
    
    /* var todoOne = Todo({item: 'buy flowers'}).save(function(err){
        if (err) throw err;
        console.log('saved');
    });
    
    var data = [ {item: 'get milk'}, {item: 'walk dog'}, {item: 'kick some coding ass'} ]; */
    
    module.exports = function(app) {
        app.get('/todo', function(req, res) {
            Todo.find({}, function(err, data) {
                if (err) throw err;
                res.render('todo', { todos : data});
            });
        });
    
        app.post('/todo', urlencodedParser, function(req, res) {
            var todoOne = Todo(req.body).save(function(err, data){
                if (err) throw err;
                res.json(data);
            });            
    /*         data.push(req.body);
            res.json(data); */
        });
    
        app.delete('/todo/:item', function(req, res) {
    /*         data = data.filter(function (todoItem) {
                return todoItem.item.replace(/ /g, '-') != req.params.item;
            }); */
            Todo.find({item: req.params.item.replace(/-/g, ' ')}).remove(function(err, data){
                if (err) throw err;
                res.json(data);
            });
        });
    }
  • 相关阅读:
    Ant: Class not found: javac1.8
    (转)ant 使用指南
    炼数成金(dataguru)IT技能修炼
    [原创]记我的6年测试经历
    CentOS6.5 安装并配置vsftpd
    炫龙炎魔T1笔记本 Win7 系统安装
    Oracl数据库+PL/SQL安装与配置
    C# 面试题
    Linux安装Python3后,如何使用pip命令
    CentOS7 Python2 和Python3 共存(Python3安装)【转】
  • 原文地址:https://www.cnblogs.com/bbcfive/p/10230331.html
Copyright © 2011-2022 走看看