节点js [ERR_HTTP_HEADERS_SENT]:将标头发送到客户端后无法设置标头

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了节点js [ERR_HTTP_HEADERS_SENT]:将标头发送到客户端后无法设置标头相关的知识,希望对你有一定的参考价值。

我只写了两个类似的代码,但是只有材料可以运行,并且订单出现错误“ [ERR_HTTP_HEADERS_SENT]:提交表单后,无法设置标头发送给客户端”

order.js

pool.getConnection(function(err,connection)
            connection.query('SELECT customerid FROM order_table WHERE customerid =?', [customerid],function(err,rows)
                if(err)
                    res.render('error',
                        message:err.message,
                        error:err
                    );
                
         /*
            if(rows.length>=1)
                res.render('operation/order',warn:"You have already order!");  

            else
                */   
                    var cmd="INSERT INTO order_table(customerid,customerName,phonenumber,productid,amount,orderday,deadlineday) VALUES(?,?,?,?,?,?,?)";
                        connection.query(cmd,[customerid,customerName,phonenumber,productid,amount,orderday,deadlineday],function(err,result)
                            console.log(req.body);
                            if(err)
                                res.redirect('/order');
                            //return next();
                            else
                                res.render('operation/order_redirect');
                            
                    );
            //
            );

        );
    //callback(err, result);
    connection.release();
);

module.exports=router;  
答案

尽管已发送响应,但在发送响应时出现错误。

使用返回值,使下面的代码不执行

 if(err)
     return res.render('error',
           message:err.message,
          error:err
      );
 

以上是关于节点js [ERR_HTTP_HEADERS_SENT]:将标头发送到客户端后无法设置标头的主要内容,如果未能解决你的问题,请参考以下文章

JS系列:js节点

js操作节点的DOM方法

js怎样添加、移除、移动、复制、创建和查找节点?

原生js之删除节点(元素)

js如何获取文本节点的值?

js如何清除dom节点上的指定监听事件?