如何在 express.js 中仅发送 200 响应

how to send just a 200 response in express.js

我有node.js5.2.0,express 4.2.0和强大的1.0.17。

我创建了一个简单的表单来保存文本字段和照片。它工作正常,但问题是,在数据上传后,我可以在控制台中看到 POST 没有完成,它仍然是 Pending.

为了完成它,我将其添加到我的代码中

form.on('end', function() {
    res.writeHead(200, {'Content-Type': 'text/plain'});
});

我只想发送 headers,页面上什么也没有。我希望系统无需在页面上打印任何内容即可获得 200 ok 响应。但是 POST 仍然悬而未决。

如何在不打印任何内容的情况下解决这个问题?什么样的headers我必须发送?

谢谢

更新

如果我这样做

form.on('end', function() {
    res.end();
});

POST 正常完成,但我得到一个空白页。这是为什么?我只想上传一些东西,不在页面上打印任何东西,不重定向,留在同一页面上。

再次感谢

试试这个:

res.sendStatus(200);

或者如果您想继续使用明确定义的 headers,我相信 res.end() 需要在某个时候被调用。您可以看到如何在 Formidable example.

中使用 res.end()

空白页很可能是您 client-side 表单处理的结果。您可能希望覆盖表单的提交方法并手动 post 到您的快递服务,以防止您看到的自动重定向。这是涉及表单重定向的问题的其他 Whosebug responses。答案是 jQuery 具体的,但基本思想将保持不变。