получение неопределенного от ввода html в базу данных nedb - PullRequest
0 голосов
/ 29 июня 2019

Я получаю неопределенные данные из входных данных в моем файле index.html в моем файле узла index.js и задаюсь вопросом, как мне поступить, чтобы получить текст, введенный в элемент ввода в html, в мою базу данных

Я новичок во всем бэкэнде, поэтому не знаю, что попробовать, но я слежу за видео по кодированию поездов, и это помогло мне в некоторой степени

const express = require('express');
const Datastore = require('nedb');

const database = new Datastore({filename: 'users.db'});
database.loadDatabase((data_response) => {
    data_response = 'The database is active'
    console.log(data_response);
});

const app = express();
const PORT = 8080;

const run_server = () => {
    app.listen(PORT);
    app.use(express.static('public'));

    console.log('Server is lve at port: ', PORT);
}

run_server();

app.use(express.json({limit: '1mb'}));

app.post('/api', (request, response) => {
    console.log('***********************************');
    console.log('\t Got a request');
    console.log('\t', response.body);
    let user_data = response.body;

    database.insert(user_data);

    response.json({
        result: 'Succes',
        userData: user_data
    });
});
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <div>
        <h1>send data to nedb database</h1>
        <textarea name="enter" id="text" cols="30" rows="10"></textarea>
        <button type="submit" id="submit">Submit</button>
    </div>

    <script>
        let data = document.getElementById('text').value;
        document.getElementById('submit').addEventListener('click', () => {
            let options = {
                method: 'POST',
                header: {
                    'Content-Type': 'application/json'
                },
                body: JSON.stringify(data)
            };

            fetch('/api', options);
        });
    </script>
</body>
</html>
...