首页 > 解决方案 > 对节点中的 2 路数据绑定感到困惑

问题描述

我是 JS 世界的新手。我正在使用 Node 和 Hapi 构建一个简单的应用程序,我想在其中输入任务详细信息并从 SQL 中获取它并可以将其删除。(简单 CRUD)目标:我需要删除勾选复选框的任务。面临的问题:我不知道如何将复选框值从 html 传输到控制器并使用它。我之前使用该 for 语句成功地使用 ejs 完成了它。

代码片段:tasks.html:

<form action="/delete" method="GET">
            <table class="table">
                <thead>
                    <tr>
                        <th>Select</th>
                      <th>Task description</th>
                      <th>Deadline</th>
                    </tr>
                </thead>
                {{#each users}}
                    

                    <tr>

                        <td> <input type="checkbox" name="check" value="{{tid}}" ></td>
                        <td> <p id="description">{{taskdesc}}</td>
                        <td><p id="deadline"></p>: {{deadline}}</td>
                        
                    </tr>
            

                {{/each}}
                    
        

                   
            </table>
            <div  ><input type="submit" class="btn btn-danger" value="DELETE TASK">
        
            </div>
        </form>

路由.js

 {
    method: 'GET',
    path: '/delete',
    handler: taskcontroller.deletetask
},

model/tasks.js(模型db文件和函数初始化一)

     const Connection = require('../dbconfig');
const { DataTypes } = require('sequelize');

const dbConnection = Connection.connect;

const Tasks = dbConnection.define('todo_master', {
    tid: {
        type: DataTypes.INTEGER,
        primaryKey: true,
        autoIncrement: true
    },
    taskdesc: {
        type: DataTypes.STRING
    },
    deadline: {
        type: DataTypes.STRING
    }
    
},
    {
        freezeTableName: true,
        timestamps: false
    });



    
module.exports.createTasks = function (taskdesc,deadline) {
    Tasks.create({ taskdesc ,deadline }).then((data) => {
        console.log(data.toJSON());
    });

}

module.exports.getTasks = async function () {
    var result = await Tasks.findAll();
    return JSON.stringify(result,null,2);
}

module.exports.deleteTasks = function(tid){

    

}

任务控制器.js

const taskmodel = require('../models/tasks')


module.exports.view = async function(request,reply){

    var res=  await taskmodel.getTasks();
    var parsed = JSON.parse(res);
    return reply.view('tasks', { users : parsed});

}


module.exports.createtask = function(request,h){

    taskmodel.createTasks(request.payload.taskdesc, request.payload.deadline);
    return h.view('welcome',{title: "TASK ADDED"});
}

module.exports.deletetask = function(request,h){
    

}

谢谢您的帮助

标签: node.jsdata-bindinghapi

解决方案


推荐阅读