【问题标题】:POST to Node.js Server causing long load that results in an ERR_EMPTY_RESPONSEPOST 到 Node.js 服务器导致长时间负载,导致 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 和一个邮政编码,正如预期的那样。但是,之后页面只会加载,直到它以上述错误结束。我知道我错过了一些重要的东西,但我不知道那是什么!

【问题讨论】:

    标签: javascript node.js html forms post


    【解决方案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");
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-08
      • 2010-12-29
      • 1970-01-01
      • 2015-10-29
      相关资源
      最近更新 更多