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

sle*_*vin 13 post http-headers node.js express

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

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

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

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

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

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

谢谢

UPDATE

如果我做

form.on('end', function() {
    res.end();
});
Run Code Online (Sandbox Code Playgroud)

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

再次感谢

dvl*_*lsg 21

试试这个:

res.sendStatus(200);
Run Code Online (Sandbox Code Playgroud)

或者如果你想继续使用明确定义的头文件,我相信res.end()需要在某些时候调用它.您可以res.end()Formidable示例中看到如何使用它.

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

  • 谢谢。由于某种原因,我得到“res.sendStatus 不是函数”。另请检查我的更新。如果我在“form.on”或“form.parse”中添加“res.end();”,上传后我仍然会得到一个空白页面。您能告诉我原因以及如何解决这个问题吗? (2认同)