Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从Express后端下载.csv到Angularjs_Javascript_Node.js_Angularjs_Csv_Express - Fatal编程技术网

Javascript 从Express后端下载.csv到Angularjs

Javascript 从Express后端下载.csv到Angularjs,javascript,node.js,angularjs,csv,express,Javascript,Node.js,Angularjs,Csv,Express,我见过同样的问题 ,但是,解决方案在我的情况下不起作用,并且输入使用的代码 $('<form action="'+ url +'" method="'+ ('post') +'">'+inputs+'</form>') .appendTo('body').submit().remove(); app.js app.put('/download', function(req,res){ console.log(req.body.file)

我见过同样的问题 ,但是,解决方案在我的情况下不起作用,并且输入使用的代码

$('<form action="'+ url +'" method="'+ ('post') +'">'+inputs+'</form>')
           .appendTo('body').submit().remove();
app.js

app.put('/download', function(req,res){
    console.log(req.body.file)
    res.download(__dirname +'/'+ 'req.body.file, function(err){
      if(err){console.log(err)}
   })
})

My controller.js将原始文件输出作为数据返回,而不是从页面开始下载。在angular中启动此文件下载时是否缺少某些内容? 任何帮助都将不胜感激。

由于我的页面上没有jQuery,您完全为我指明了正确的方向

以下是我添加到controllers.js中以代替$http.put()的已完成代码:

$(''+'')
.appendTo('body').submit().remove();

再次感谢您的帮助。

未定义Reference$
表示它在执行时找不到jQuery。这是您唯一的错误吗?是的,这是我唯一的错误-当我将jQuery库添加到我的页面时,我在触发下载时只返回一个空白页面。您从中获得帮助的答案的形式中有一个操作。提交表单时重定向操作。在“提交”按钮的单击处理程序中,您必须将
e
传递给处理程序的回调函数,并在回调函数中使用
e.preventDefault()
方法。这完全有帮助。虽然我不需要e.preventDefault(),但我在下面发布了答案。您找到答案真是太棒了。。。很乐意帮忙!
app.put('/download', function(req,res){
    console.log(req.body.file)
    res.download(__dirname +'/'+ 'req.body.file, function(err){
      if(err){console.log(err)}
   })
$('<form action="'+ "/download" +'" method="'+ ('post') +'">'+'<input type="hidden" name="file" value="'+$scope.inputInfo.name.$modelValue+'"'+'/></form>')
           .appendTo('body').submit().remove();