Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript nodejs:如何从页面编辑数据库?_Javascript_Html_Node.js - Fatal编程技术网

Javascript nodejs:如何从页面编辑数据库?

Javascript nodejs:如何从页面编辑数据库?,javascript,html,node.js,Javascript,Html,Node.js,我正在尝试为Slack制作一个机器人,用于处理办公室内的维护请求,并使用nodejs将它们存储在数据库中 前端工作正常,bot正确记录请求,我编写了以下代码,将数据库显示到一个简单的网页上: exports.serveHTML = function serveHTML() { var http = require('http'); http.createServer(function (req, res) { var html = buildHtml(req);

我正在尝试为Slack制作一个机器人,用于处理办公室内的维护请求,并使用nodejs将它们存储在数据库中

前端工作正常,bot正确记录请求,我编写了以下代码,将数据库显示到一个简单的网页上:

exports.serveHTML = function serveHTML() {
    var http = require('http');

    http.createServer(function (req, res) {
        var html = buildHtml(req);

        res.writeHead(200, {
            'Content-Type' : 'text/html',
            'Content-Length' : html.length,
            'Expires' : new Date().toUTCString()
        });
        res.end(html);
    }).listen(8080);

    function buildHtml(req) {
        var header = '<html><head><title>Maintenance Log</title></head><body><h1>Maintenance Log</h1><table border="1"><tr><th>Problem Description</th><th>User</th> <th>ID</th><th>Date</th><th>Status</th> </tr>';
        var body = '';

        for (var i = 0; i < problemList.length; i++) {
            body+="<tr>";
            body+="<td>" + problemList[i].description + "</td>";
            body+="<td>" + problemList[i].complainer + "</td>";
            body+="<td>" + problemList[i].id + "</td>";
            body+="<td>" + problemList[i].dateAndTime + "</td>";
            body+="<td>" + problemList[i].status + "</td>";
            body+="</tr>";
        }

        return '<!DOCTYPE html>'
         + header + '</header><body>' + body + '</body></html>';
    };
};
exports.serveHTML=函数serveHTML(){ var http=require('http'); http.createServer(函数(req,res){ var html=buildHtml(req); 文书标题(200{ “内容类型”:“文本/html”, “内容长度”:html.Length, “过期”:新日期().ToutString() }); res.end(html); }).听(8080); 函数buildHtml(req){ var头='维护日志维护日志问题描述用户IDDateStatus'; 变量体=“”; 对于(var i=0;i 这可以简单地显示项目,但我希望在每个项目上都包含一个单选按钮,以便人力资源团队可以更改为项目状态

我被困在如何让这一变化反映在数据库上


所以我的问题是:如何从这个页面将信息传递回数据库?

这取决于您使用的数据库类型。如果你们使用的是MongoDb,那么在那里获取数据就相当容易了

我建议您研究mongoose,它可以方便地从MongoDb保存和检索数据

您也可以在页面上有一个表单,这样当他们单击submit时,它会将数据发送到您的节点服务器

<form action="/submit" method="get">
    Description : <input type="text" name="description"><br>
    Status: <input type="text" name="status"><br>
    <input type="submit" value="Submit">
</form>

无关:如果我发布了以下描述的问题怎么办<代码>我是邪恶警报('我偷了你所有的饼干!')?我已控制注射。机器人除了字母、数字和标点符号外不接受任何东西。谢谢,这绝对是最简单的解决方案。
var Ticket = mongoose.model('Ticket', { status: String, description: String  });


app.post('/submit', function(req, res) {
    var ticketStatus = req.body.status;
    var ticketDescription = req.body.description; 
    var ticket= new Ticket({ status: ticketStatus , description: ticketDescription });
    ticket.save(function (err) {
        if (err) // ...
        console.log('saved');
    });
});