首页 > 解决方案 > 我的错误是:错误 [ERR_HTTP_HEADERS_SENT]:在将标头发送到客户端后无法设置标头

问题描述

我试图result在把手文件中输出,当我运行服务器时,一切运行正常,但是当我检查浏览器时,它显示 [object Object],然后在控制台中写入以下错误:Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client

有什么问题,我该如何解决?

const express = require('express');
var exphbs  = require('express-handlebars');
var http = require("http");
const net  = require('net');
const Web3 = require('web3');
var app = express();

app.engine('handlebars', exphbs({defaultLayout: 'layout'}));
app.set('view engine', 'handlebars');

const web3 = new Web3(new Web3.providers.IpcProvider("/home/terry/.ether1/geth.ipc",net))
console.log(web3.isConnected()) // return true if connected

web3.version.getNetwork((error, result) => {
    console.log('The result is: ' + result)
});

app.get('/', function (req, res, result) {
    res.render('index',{
        title: result
    });
});

app.listen(50000)
console.log('Server running at http://127.0.0.1:50000/');

我希望title: result按其应有的方式输出,而不是按原样输出[object Object]

标签: node.jshandlebars.jsweb-development-server

解决方案


result在这个函数中:function (req, res, result)不是结果它的next()函数你不能像这样使用它

尝试这样的事情

app.get('/', function (req, res, next) {
    web3.version.getNetwork((error, result) => {
     res.render('index',{
        title: result
     });
    });

});

推荐阅读