我正在尝试通过发送Node.js即时生成的文件来响应网页中的POST。我宁愿避免将文件保存到磁盘然后调用res.download的天真方式。
关注this post后,我尝试了以下咖啡:
app.post "/post", (req, res, next) ->
mydata = "I want to write this to a file"
res.setHeader 'Content-disposition', 'attachment; filename="myFile.txt"'
res.setHeader 'Content-type', 'text/plain'
res.write mydata
res.end()
但是,它不起作用。我只是获得了我的表单所在的页面,就像它刷新了一样。我已经使用res.redirect和app.get重定向到GET,但它也不起作用。
修改
我已经尝试了上面的代码和一个非常简单的快速服务器。如果我使用method =“post”提交表单数据,它就可以工作。但是,我想要做的是通过jQuery的post()发送数据。这是我的JS:
$('form').find(':submit').click();
if ($('form')[0].checkValidity()) {
$.post('/post', js);
}
这里,js只是一个javascript对象。我试过删除click()甚至checkValidity()部分;这有助于重新加载页面,但我仍然无法下载myFile.txt。
任何人都能解开一些光明吗?
由于