У меня ошибка: Ошибка: невозможно поставить в очередь рукопожатие после того, как рукопожатие уже поставлено в очередь - PullRequest
0 голосов
/ 05 мая 2020

Я новичок в NodeJS. И у меня ошибка (или моя ошибка) в моей форме входа. «Ошибка: невозможно поставить в очередь рукопожатие после того, как рукопожатие уже поставлено в очередь». Вот полный текст:

E: \ User \ Programming \ Node.js \ loginpage_copy. js: 19 if ( эрр) бросить ошибку; ^

Ошибка: невозможно поставить в очередь рукопожатие после того, как рукопожатие уже поставлено в очередь. в Protocol._validateEnqueue (E: \ User \ Programming \ Node.js \ node_modules \ mysql \ lib \ protocol \ Protocol. js: 221: 16) в Protocol._enqueue (E: \ User \ Programming \ Node.js \ node_modules \ mysql \ lib \ protocol \ Protocol. js: 138: 13) в Protocol.handshake (E: \ User \ Programming \ Node.js \ node_modules \ mysql \ lib \ protocol \ Protocol. js: 51: 23) в Connection.connect (E: \ User \ Programming \ Node.js \ node_modules \ mysql \ lib \ Connection. js: 116: 18) в E: \ User \ Programming \ Node.js \ loginpage_copy. js: 18: 17 в IncomingForm. (E: \ User \ Programming \ Node.js \ node_modules \ formidable \ lib \ incoming_form. js: 107: 9) в IncomingForm.emit (events. js: 311: 20) в IncomingForm._maybeEnd (E: \ User \ Programming \ Node.js \ node_modules \ formidable \ lib \ incoming_form. js: 557: 8) в QuerystringParser.parser.onEnd (E: \ User \ Programming \ Node.js \ node_modules \ formidable \ lib \ incoming_form. . js: 458: 10) в QuerystringParser.end (E: \ User \ Programming \ Node.js \ node_modules \ formidable \ lib \ querystring_parser. js: 25: 8) {code: 'PROTOCOL_ENQUEUE_HANDSHAKE_TWICE', фатальный: false}

Вот мой код:

const md5 = require('md5');
const http = require('http');
const formidable = require('formidable');
const mysql = require('mysql');
const con = mysql.createConnection({
    host: 'myhost',
    user: 'myuser',
    password: 'mypassword',
    database: 'mydatabase'
})
http.createServer(function(req,res){
    if(req.url == '/login'){
        var form = new formidable.IncomingForm();
        form.parse(req, function(err, fields, files){
            if(err) throw err;
            var username = fields.username;
            var password = fields.password;
            con.connect((err) => {
                if(err) throw err;
                var sql = "SELECT * FROM users WHERE login=?";
                con.query(sql, [username], (err, result) => {
                    if(err) throw err;
                    if(md5(password) == result[0].parol){
                        res.writeHead(200, {'Content-Type':'text/html'});
                        res.write('Logined! :)<br>');
                        res.write('Your id is <b>' + result[0].id + '</b><br>');
                        res.write('Your username is <b>' + result[0].login + '</b><br>');
                        res.end();
                    } else {
                        res.writeHead(200, {'Content-Type':'text/html'});
                        res.write('Something is wrong! :(');
                        res.end();
                    }
                })
            })
        })
    } else {
        res.writeHead(200, {'Content-Type':'text/html'});
        res.write(`
        <!DOCTYPE html>
        <html>
            <head>
                <meta charset="utf-8">
                <meta name="viewport" content="width=device-width, initial-scale=1">
                <title>Login Area</title>
                <link rel="icon" href="data:image/png;base64,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">
                <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">
                <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.0/css/all.css" integrity="sha384-lZN37f5QGtY3VHgisS14W3ExzMWZxybE1SJSEsQp9S+oqd12jhcu+A56Ebc1zFSJ" crossorigin="anonymous">
                <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
            </head>
            <body>
            <div class="my-2 container shadow bg-light jumbotron col-xl-4 my-auto align-middle">
                <div class="d-flex justify-content-center"><img class="col-xl-8" src="data:image/png;base64,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" alt="Login"></div>
                <h1 class="text-center text-primary">Login Area</h1>
                <form action="/login" method="post">
                    <label for="username" class="fas fa-id-badge form-control-plaintext"><b>Username:</b></label><input type="text" name="username" placeholder="Your username" class="form-control" style="outline: none;border: none; border-bottom: 1px solid black!important;background-color: transparent;border-radius:0;"><br>
                    <label for="password" class="fas fa-lock form-control-plaintext"><b>Password:</b></label><input type="password" name="password" placeholder="Your password" class="form-control" style="outline: none;border: none; border-bottom: 1px solid black!important;background-color: transparent; border-radius:0;"><br>
                    <input type="submit" value="Login" class="btn btn-primary col-xl-12">
                </form>
            </div>
            </body>
        </html>
        `);
        res.end();
    }
}).listen(7777);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...