Ошибка [ERR_HTTP_HEADERS_SENT]: невозможно установить заголовки после их отправки клиенту (несколько записей данных) - PullRequest
0 голосов
/ 29 августа 2018

Итак, я пытался вставить, затем ОБНОВИТЬ данные, база данных успешно обновлялась на основе намеченных запросов и была в состоянии получить ответ клиенту, но получила ошибку выше на сервере, не зная, как ее отладить, я ' Я попытался посмотреть на предыдущие вопросы, но безуспешно.

var urlencodedParser = bodyParser.urlencoded({ extended: false });
router.post('/createprovision', urlencodedParser,(req, res) => {
    let serials = [];
    for (let i = 0; i < req.body.length; i++){
        serials.push(req.body[i][1]);
    }  

    let sql = 'INSERT INTO provision (employee_id, serial_no, provision_date) VALUES ?';
    connection.query(sql, [req.body],(err, results) => {
        for(let i = 0; i < serials.length; i++){
            let sql2 = `UPDATE inventory SET ? WHERE serial_no = '${serials[i]}'`;
            connection.query(sql2, [{status: "assigned"}],(err, results) => {
                if (err) throw err;
                return res.send("provision success!");
            });
        }
    });
});

ERR_MSG:

Ошибка [ERR_HTTP_HEADERS_SENT]: невозможно установить заголовки после их отправки клиенту (несколько записей данных)

1 Ответ

0 голосов
/ 29 августа 2018

Вы поместили свой return res.send("provision success!"); в цикл for, что означает, что вы отправляете ответ клиенту на первой итерации, затем вы пытаетесь отправить ответ снова, но заголовки уже отправлены. Поместите его в конец вашей функции, отправив ответ только после вашего процесса все serials.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...