【发布时间】:2017-04-18 06:35:30
【问题描述】:
我有一个奇怪的问题,当我提交表单时,它会重定向到表单操作 URL,然后显示空白页面。当我再次重新加载它时,它会显示数据。
index.jade - http://172.18.0.60:3000/
form#command(action='runcommand', method='post')
input#cmdls(type='checkbox', name='cmdls', value='ls -la')
label(for='cmdls') List Files
br
input#cmdpwd(type='checkbox', name='cmdpwd', value='pwd')
label(for='cmdpwd') Print Working Directory
br
input#cmddate(type='checkbox', name='cmddate', value='date')
label(for='cmddate') Date
br
input.button(type='submit', value='Run')
app.js
var tmp="";
app.post('/runcommand',function(req,res){
for (var key in req.body) {
console.log(key);
function puts(error, stdout, stderr) { sys.puts(stdout) }
exec(req.body[key], function(error, stdout, stderr) {
if (!error) {
tmp+=stdout;
} else {
tmp+=stderr;
}
});
}
res.render("result",{ data: tmp });
});
result.jade - http://172.18.0.60:3000/runcommand
扩展布局
block content
h1= "Result"
pre= data
当我提交表单时,它会重定向到http://172.18.0.60:3000/runcommand,只显示 h1,当我再次重新加载它时,它会显示 data。
为什么会这样?
【问题讨论】:
标签: javascript node.js express command-line-interface