我有一个处理url post请求的路由我在bash命令上运行exec。出于某种原因,console.log工作,所以我知道bash命令结束并且正在输入回调。但是回复不会让我发送任何东西。如果我将响应移到exec回调范围之外,那么我的客户端将发送和接收数据。现在响应没有发送任何东西。我也没有收到任何错误。
router.post('/someurl', function (req, res) {
exec('some command', function (error, stdout, stderr) {
if(error) {
console.error('exec error: '+error);
}
console.log(stdout);
res.send(stdout);
});
});
答案 0 :(得分:0)
response
未定义,并且您正尝试在其上调用方法,因此请使用res
,因为它在路由处理程序中显示为参数function(req, res){...}
res.send(stdout);