Javascript 如何将变量从express view传递到router.js文件-Node js

Javascript 如何将变量从express view传递到router.js文件-Node js,javascript,node.js,express,hogan.js,Javascript,Node.js,Express,Hogan.js,我通过javascript和onclick事件收集视图上的信息,但是我看到作为响应传回的唯一方法如下 window.open("/explorer/" + e.target.id , "_self" ); 然后在路由器文件index.js文件中,我使用follow获取该参数,并在节点代码中使用它 router.get('/explorer/:folder_name, function(req,res) { var command = 'ls -lrt ' + req.param

我通过javascript和onclick事件收集视图上的信息,但是我看到作为响应传回的唯一方法如下

window.open("/explorer/" + e.target.id , "_self" );
然后在路由器文件index.js文件中,我使用follow获取该参数,并在节点代码中使用它

router.get('/explorer/:folder_name, function(req,res) {
        var command = 'ls -lrt ' + req.params.folder_name;
        exec(command);
    }
});
这确实有效,但问题是路由器文件随后试图打开一个不存在的页面

这是一个简单的过程,但我似乎找不到一个简单的方法来做到这一点


关于如何从express视图传递var的任何建议,例如。。index.hjs到路由器文件,例如。。node.js express中的index.js?

您似乎没有从请求返回响应。它可能是在试图找到一个404或500页没有找到?如果您发送如下响应,是否解决了问题

res.send({ status: 'success' });
更新:

根据您的评论,这里是一个从客户端(视图)向express router发送数据的人为示例:

$.post('/explorer', 'folder=' + e.target.id);
在服务器上,您可以像这样设置路由处理程序来处理请求:

router.post('/explorer', function(req, res) {
    var command = 'ls -lrt ' + req.body.folder;
    exec(command);
});

此代码尚未验证,因此您可能需要修改。

我建议您阅读html链接、表单和表单。还有一些expressjs文档,您从来没有从客户端执行过至少没有以前版本的行sanitazion@DayanMorenoLeon你是不是建议在后端使用POST?我知道html链接和表单,但是我不认为它们能解决这种情况。如果你知道的话,我很想听听。显然,这是一个没有验证的POC。为什么您认为表单不会这样做?在这种方法中你发现了什么问题?@DayanMorenoLeon如果我从视图发布,我将如何在后端接收数据?我曾尝试使用app.post进行此操作,但没有成功。与您始终进行查看的方式相同,就是突出一个网页,您在表单中指定一个操作,指向您的路线,认真阅读表单和web应用生命周期能否在我的视图中发送用户res.send?那会在脚本标记中吗?我怎么能在后端收到呢?听起来您可能需要在客户端/服务器之间进行更多的通信。在这种情况下,我推荐一些使用jQuery将数据发布到expressjs的google搜索。您的答案是如何从后端发送到视图,如果您能提供一个示例,说明如何将其用于反向,那将非常好。在发布这个问题之前,我花了相当长的时间在网上阅读并寻找解决方案。谢谢Hayes的帮助