使用 Ajax 下载 JQuery 文件

2024-02-29

当我的用户选择生成报告时,我使用 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 确实得到更新。但是,该插件不会提示用户下载。

Thanks!


您不需要在 JS 中调用 ajax 函数。你的链接<a href='yoursite.com/pdf.php'用这个命令来识别$(this).attr('href')pdf 服务器进程的位置。

EDIT:

你的来电:

// Build our data string.
var strData = {method: "createPDF"};

var $preparingFileModal = $("#preparing-file-modal");
$preparingFileModal.dialog({ modal: true });

$.fileDownload($(this).attr('href'), {
    httpMethod: "GET",
    data: strData
    successCallback: function (responseHtml, url) {
        $preparingFileModal.dialog('close');
        // In this case 
        $.fileDownload("/pdf/"+responseHtml, {
            preparingMessageHtml: "Download file",
            failMessageHtml: "Not work"
        });

    },
    failCallback: function (responseHtml, url) {
        $preparingFileModal.dialog('close');
        $("#error-modal").dialog({ modal: true });
    }
});

HTML:

<div id="preparing-file-modal" title="Preparing report..." style="display: none;">
    We are preparing your report, please wait...

    <div class="ui-progressbar-value ui-corner-left ui-corner-right" style="width: 100%; height:22px; margin-top: 20px;"></div>
</div>

<div id="error-modal" title="Error" style="display: none;">
    There was a problem generating your report, please try again.
</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Ajax 下载 JQuery 文件 的相关文章

随机推荐

  • 发送消息到任意虚拟主机/与 RabbitMQ / Spring AMQP 交换

    I use RabbitMQ and Spring AMQP发送消息 我有这个片段 rabbitTemplate convertAndSend exchange key object 当我对单个操作进行操作时 这有效VHOST 我必须从 1
  • 在 Python 中使用自定义顺序对列表进行排序

    我有一个清单 mylist 123 BOOL 234 345 INT 456 567 DINT 678 我想按照1的顺序排序 DINT 2 INT 3 BOOL Result 567 DINT 678 345 INT 456 123 BOO
  • 如何在 Cast Receiver Player 中续订过期的 DRM 许可证?

    我基于以下内容开发自定义 Cast Receiver 应用程序Google Cast 应用程序框架 https developers google com cast docs caf receiver 接收器应用程序负责播放 Widevin
  • Git:使用 git rebase 更改已推送的提交消息

    我们正在开发一个有多个分支的 git 存储库 如果所有提交都以功能 ID 作为提交评论的开头 该评论必须得到公司针对该项目的批准 则系统仅允许将更改部署到实时系统上 我们在一次提交中有一个拼写错误 该提交超过了过去的 100 次提交 有几个
  • 无法在 Dropbox 文件夹中执行 heroku 的 Python 教程

    EDIT2 好吧 这很奇怪 我无法回答我自己的问题 所以我只是将其作为对问题的另一个编辑 我认为这与我尝试在 Dropbox 同步目录中进行此安装有关 我得到了这个在我的桌面上工作 谁能解释为什么会出现这种情况 原问题 我正在尝试在我的 M
  • 场景测试是连续单元测试的组吗?

    我读了维基百科 http en wikipedia org wiki Scenario testing关于场景测试的文章 但我很遗憾地说它很短 我想知道 场景测试是连续单元测试的集合吗 或者 也许像单个多步骤单元测试 许多框架是否支持场景测
  • 如何使用 java 中的 swing 在 jeditorpane 中的超链接上添加悬停效果

    使用jEditorPane 中的超链接 https stackoverflow com questions 3693543 hyperlink in jeditorpane链接 我设法在 jEditorPane 中获取超链接 但现在我想为超
  • 开发过程中样式未应用于 vue web 组件

    在开发 Vue Web 组件时 style不应用于Web组件 而是添加到head该文件的 这意味着样式在影子 DOM 中被忽略 以下是我在 main js 中包装 Web 组件的方法 import Vue from vue import w
  • Multer 和快速验证器在验证中造成问题

    我正在提交带有图像的表格 使用下面的代码 router post upload upload image single categoryLogo categoryRules categoryCreationRules validate ca
  • 引用外部对象的 JavaScript 作用域

    基本上 我使用一个名为的元类框架Joose http joose it对于 Javascript 它允许我使用更优雅的类语法 但我不知道如何从类声明的更深层次方法中引用对象的范围 我还使用 require js 进行依赖管理 这是一个类定义
  • jQuery自动上下滚动div

    我写了一个fiddle http jsfiddle net f7e3d440 8 自动上下滚动 div 效果很好 但是向下滚动时存在问题 它不显示最后一行 在本例中为 String4 有人可以帮我解决这个问题吗 div class cont
  • 在 ASP.Net 中运行时按名称隐藏 GridView 列

    是否可以在运行时按名称显示 隐藏 GridView 列 我可以通过索引来做到这一点 如下所示 gridReviews Columns 4 Visible false 不过我想执行以下操作 gridReviews Columns Name V
  • Terraform:如何读取地图列表?

    请参阅下面的示例 data aws kms secrets api key count length keys var keys secret name secret name payload element values var keys
  • 显式保存与隐式保存 - 什么时候更喜欢什么?

    我目前正在开发一个 wp7 应用程序 不想透露太多 但我在用户交互方面遇到了一些困难 我不确定的主要问题是 我应该在对话框中提供显式保存按钮并使用手机后退按钮作为取消 还是应该隐式保存用户点击手机后退按钮的时间 我想得越多 我就越不确定什么
  • 如何在 Scala JLine 调用之间保存和加载历史记录

    我在用着Scala JLine http search maven org artifactdetails 7Corg scala lang virtualized 7Cjline 7C2 10 2 RC1 7Cjar在我的 CLI 程序中
  • MySQL 5.5 至 5.7 停止使用索引

    我有 Magento 1 9 2 1 并在Apache2和MySQL 5 5上成功运行 我尝试将其迁移到另一台服务器并使用 NGINX 和 MySQL 5 7 但网站开始变得非常慢 12 秒对 2 秒 经过几个小时的调试 我发现一个查询有问
  • 简单的 PHP 联系表格未发送[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 发完更多帖
  • 如何在Steam WebAPI中通过AppName获取steam AppID

    所以我试图通过输入游戏名称来启动蒸汽游戏 为此我问自己是否可以通过输入的名称找出steam App ID 所以我尝试通过我的 steamApps 文件夹收集 ID 但没有成功 我还找到了一个网站 您可以在其中搜索特定游戏的名称 例如 htt
  • 期间发生内部错误:“更新 Maven 项目

    当我转换为 Maven 项目时 错误是 gt An internal error occurred during Updating Maven Project gt Unsupported IClasspathEntry kind 4 有什
  • 使用 Ajax 下载 JQuery 文件

    当我的用户选择生成报告时 我使用 John Culviner 出色的 fileDownload 插件来生成 请稍候 消息 当用户单击链接时 我向 PHP 发送一个 ajax 请求 该请求在服务器上生成 PDF 此时 我正在尝试更新 file