POST 到 Node.js 服务器导致长时间负载,导致 ERR_EMPTY_RESPONSE
Posted
技术标签:
【中文标题】POST 到 Node.js 服务器导致长时间负载,导致 ERR_EMPTY_RESPONSE【英文标题】:POST to Node.js Server causing long load that results in an ERR_EMPTY_RESPONSE 【发布时间】:2018-07-20 21:56:20 【问题描述】:我有一个简单的表单,可以将用户输入发布到服务器。提交表单后,页面加载很长时间导致 ERR_EMPTY_RESPONSE。但是,我可以 console.log
来自表单的输入很好地验证表单确实发布到服务器。
这是我的工作:
<form method="post" action="/">
<input type="text" name="userZipcode" placeholder="Enter your zip code">
<button type="submit">ENTER</button>
</form>
和
app.use(bodyParser.urlencoded(
extended: false
));
app.use(bodyParser.json());
app.get('/', (req, res, next) =>
fetch(url)
.then(res => res.json())
.then(data => res.render('pages/index'))
.catch(err =>
console.log(err);
res.sendStatus(500);
);
);
app.post('/', function(req, res)
let zipcode = req.body.userZipcode;
console.log('Your location is: ' + zipcode);
);
注意:获取请求最终会将来自 API 响应的数据传递到我的 EJS 页面,但现在它只呈现索引页面。
上面的表格有效,我从终端的输入字段中得到了一个console.log
和一个邮政编码,正如预期的那样。但是,之后页面只会加载,直到它以上述错误结束。我知道我错过了一些重要的东西,但我不知道那是什么!
【问题讨论】:
【参考方案1】:在您的 POST 路线中,您必须做出回应。您的代码没有响应请求。这会导致 ERR_EMPTY_RESPONSE。
app.post('/', function(req, res)
let zipcode = req.body.userZipcode;
console.log('Your location is: ' + zipcode);
res.end("your response");
);
【讨论】:
以上是关于POST 到 Node.js 服务器导致长时间负载,导致 ERR_EMPTY_RESPONSE的主要内容,如果未能解决你的问题,请参考以下文章
nodejsrequest.post请求服务端长时间不响应程