如何从nodejs / express向浏览器发送成功状态?

我已经在nodeJS / Expressjs服务器中编写了以下代码片段:

app.post('/settings', function(req, res){ var myData = { a: req.param('a') ,b: req.param('b') ,c: req.param('c') ,d: req.param('d') } var outputFilename = 'config.json'; fs.writeFile(outputFilename, JSON.stringify(myData, null, 4), function(err) { if(err) { console.log(err); } else { console.log("Config file as been overwriten"); } }); 

});

这使我可以获取提交的表单数据并将其写入JSON文件。

这完美的作品。 但客户仍处于某种发布状态,最终超时。 所以我需要发送某种成功的状态或成功标题回到客户端。

我应该怎么做?

先谢谢你!

2015年快车更新:

用这个代替:

 res.sendStatus(200) 

这已被弃用:

 res.send(200) 

只是想添加,你可以通过res.json()助手发送json。

 res.json({ok:true}); // status 200 is default 

 res.json(500, {error:"internal server error"}); // status 500 

2015年更新:

res.json(status, obj)已被弃用,取而代之的是res.status(status).json(obj)

 res.status(500).json({error: "Internal server error"}); 

Jup,你需要回答一个答案,最简单的就是

 res.send(200); 

writeFile的callback处理程序中。

200是一个HTTP状态代码,所以你甚至可以改变这种情况下的失败:

 if (err) { res.send(500); } else { res.send(200); } 

在快递4中,您应该这样做:

 res.status(200).json({status:"ok"}) 

而不是弃用的:

 res.json(200,{status:"ok"})