【问题标题】:Send to client pdf file with AJAX request使用 AJAX 请求发送到客户端 pdf 文件
【发布时间】:2019-06-22 00:21:43
【问题描述】:

我正在使用 javascript 和 nodejs 开发一个 Web 应用程序。 我必须使用 pdf 文件响应客户端的 ajax 发布请求。 客户端代码是:

 $.ajax({
        type: "POST",
        url: "/getSlides",
        data:{name,professor},

    }).done(function(data){

        console.log(data);

    });

所以我希望客户端对象data包含pdf或从data对象获取pdf参考。 服务器端我正在尝试按如下方式发送:

   app.post("/getSlides",function(req,res) {

    name = req.body.name;
    professor = req.body.professor;

    daoQuery.getSlides(name,professor,infoStudent[0].email,function(result){

        var form = new FormData();


          fs.readFile(result[0].slides_path,'application/pdf',function(err,file){

            if(err) throw err;

            form.append("0",file);

            console.log(file);

                res.send(form);

           });


        });


    });

daoQuery.getSlides 函数返回一个对象数组,其中包含字段.slides_path,这是 pdf 在服务器上存储的路径。 我选择使用表单数据,因为它在相反的路线上工作(当我将幻灯片从客户端上传到服务器时)但我不知道它是否是正确的工作方式。 我只需要一种从服务器接收 pdf 的方法。

【问题讨论】:

    标签: javascript jquery node.js ajax form-data


    【解决方案1】:

    好吧,我快速查看了您的代码,我认为您错过了将姓名和教授作为变量提及,数据未定义。 我想应该是:

    var name = req.body.name; //variable defined
    var professor = req.body.professor; //variable defined
    
    
    app.post("/getSlides",function(req,res) {
    
        var name = req.body.name; //variable defined
        var professor = req.body.professor; //variable defined
    
        daoQuery.getSlides(name,professor,infoStudent[0].email,function(result){
    
            var form = new FormData();
    
    
              fs.readFile(result[0].slides_path,'application/pdf',function(err,file){
    
                if(err) throw err;
    
                form.append("0",file);
    
                console.log(file);
    
                    res.send(form);
    
               });
    
    
            });
    
    
        });
    

    一步一步来,希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-30
      • 1970-01-01
      • 1970-01-01
      • 2015-11-21
      • 2013-08-13
      • 2014-11-03
      • 2015-04-26
      相关资源
      最近更新 更多