我正在使用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的方法。
答案 0 :(得分:0)
好吧,我快速浏览了一下您的代码,我认为您没有提到名字和教授作为变量,而数据未定义。 我想应该是:
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);
});
});
});
一步一步走,希望对您有帮助