当我的用户选择生成报告时,我正在使用 John Culviner 出色的 fileDownload 插件来生成“请稍候”消息。
当用户点击一个链接时,我会向我的 PHP 发送一个 ajax 请求,它会在服务器上生成一个 PDF。那时我正在尝试更新 fileDownload 插件的成功处理程序中的链接。
我可能正在接近这个错误,但这是我的代码 - 非常感谢任何帮助。
$("body").on("click","##pdfLink", function(e){
$.fileDownload($(this).attr('href'), {
preparingMessageHtml: "Preparing your report, please wait...",
failMessageHtml: "There was a problem generating your report, please try again."
});
// Build our data string.
var strData = {method: "createPDF"};
// Send a request to build our XL file.
$.ajax({
url: '/pdf.php',
data: strData,
type: 'get',
dataType: 'json',
success: function(data) {
alert(data);
$("##pdfLink").attr("href","/pdf/"+data);
},
error: function(e) {
console.log(e);
}
});
return false;
e.preventDefault();
})
此时,当我单击链接时,模式会正确显示“请稍候”消息。我的文件确实在服务器上构建(通过我的成功处理程序中的警报确认),并且我的 HREF 确实得到了更新。但是,该插件不会提示用户下载。
谢谢!