我正在开发一个 Web 应用程序,其中用户单击一个按钮,然后 Jquery AJAX 调用转到 NodeJS 服务器,该服务器又从 Elastic Search 获取记录。我希望将这些记录写入 CSV 文件并将此文件作为响应发送到 AJAX,以便在浏览器上下载。我怎样才能做到这一点?
问问题
760 次
2 回答
0
$(document).ready(function() {
$(".export").on('click',function(){
var project_id="<?php echo $_GET['project_id'];?>";
$.ajax({
type:"GET",
url: 'https://work.readycontacts.com/True_Validate/download_file.php',
data: "project_id=" + project_id,
success:function(data){
console.log(data);
}
});
return false;
});
});
export 是 bean click 的功能,您可以将 download_file.php 替换为您的 nodejs 下载代码文件
于 2017-01-24T11:03:08.863 回答
0
var fs = require('fs');
var stream = fs.createReadStream(pathToFile);
stream.on('error', function(){
console.log('404 -------- ', pathToFile);
});
stream.pipe(res);
var destroy = require('destroy'); // nam i destroy --save
var onFinished = require('on-finished'); // nam i on-finished --save
onFinished(res, function (err) {
destroy(stream)
})
于 2017-01-24T10:21:45.117 回答