如何在POST请求中呈现html文件?

时间:2017-12-03 15:32:23

标签: javascript html node.js express

这是我的代码:

    app.post('/convert', function(req,res){
        var auxiliar = "somo Ubuntu command line(this works)";
        exec(auxiliar, function(err, stdout, stderr){
        if(err){
            console.log(err);
        }
        else{
            console.log("Conversion succesful");
            res.sendFile(path.join(__dirname, 'views/test.html'));
        }
       });
});

我想要做的是在exec 完成时将html文件更改为test.html。但是当它完成时它打印得很好(“转换成功”)但html不会改为test.html。我怎么解决这个问题?

提前致谢

2 个答案:

答案 0 :(得分:0)

假设在客户端使用ajax调用调用/ convert。

调用/提交POST请求/异步转换(ajax)不会使浏览器呈现新页面。

创建一个带有action属性的表单作为/ convert并提交表单。这应该呈现test.html。

动态表单

$('<form>', { 
    "id": "dynamicForm", 
    "html": '<input type="text" id="input" name="input" value="' + jsonString + '" />', 
 "action":"/convert",
  "method":"post"})
 .appendTo(document.body).submit();

<强>快速

  var bodyParser = require('body-parser')
 app.use(bodyParser.urlencoded({
 extended: true
 }))
app.use(bodyParser.json());
app.post('/convert',function(request,response){
    var input=Json.parse(request.body);
})

答案 1 :(得分:0)

您是否尝试过res.render(&#34; ../ views / test.html&#34;)或者视图目录可能不正确