如何在node.js中发送200响应

时间:2015-12-14 19:42:33

标签: node.js post express http-headers

我有node.js 5.2.0,表达4.2.0和强大的1.0.17。

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

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

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

我只是想在页面上发送标题而不是任何内容。我希望系统获得200 ok响应,而无需在页面上打印任何内容。但POST仍在等待中。

如何修复此问题,而无需打印任何内容?我必须发送什么样的标题?

由于

更新

如果我这样做

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

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

再次感谢

1 个答案:

答案 0 :(得分:16)

请改为尝试:

res.sendStatus(200);

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

空白页面很可能是客户端表单处理的结果。您可能希望覆盖表单的提交方法并手动发布到您的快速服务,以防止您看到的自动重定向。以下是涉及表单重定向的问题的其他stackoverflow responses。答案是jQuery特定的,但基本的想法将保持不变。