通过 $.ajax 调用返回附件

2024-04-07

我的页面上有一个 iframe,在该 iframe 内我执行代码:

$.ajax({
    url: '/SamplePage/ExportToExcel',
    async: false,
    data: par,
    type: 'POST'
});

响应返回正常,但是我没有收到“保存附件”对话框,什么也没有发生...为了清楚起见,标头很好(内容配置、mime 类型等),就像我使用纯表单提交执行导出时一样有用。看来和ajax调用有关系。它会以某种方式起作用吗?

Thanks


为了扩展达林的答案,我是这样做的:

我有一个隐藏的表单,其中有一个隐藏的输入元素,用于动态保存我希望转换/导出的值:

<form id="svg_export_form" method="POST" style="display:none;visibility:hidden">
    <input type="hidden" name="svg" />
</form>

然后我有这个 jQuery 代码来动态填充带有 post 参数的元素,然后提交表单。

$('#svg_export_form > input[name=svg]').val(svg_code);
$('#svg_export_form').attr('action','api/reports/convert/svg/to/png');
$('#svg_export_form').submit();

并且由于返回的响应(来自 api 调用)设置了 Content Disposition 标头,因此此表单提交操作不会像普通表单提交一样引导用户离开当前页面(而只是返回附件),因此仍然会产生错觉典型的 Ajax 提交:-)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 $.ajax 调用返回附件 的相关文章

随机推荐

  • Android 中片段中按钮的按钮侦听器

    我是 Android 新手 正在尝试自学 但我在 Fragments 方面遇到了困难 我正在创建一个简单的应用程序来学习片段 我认为这可能看起来很愚蠢 但我真的无法让它发挥作用 我想做的就是单击 Fragment One 中的按钮 butt
  • 如何从 &Vec 或 Vec<&T> 创建 &T 的迭代器?

    我有一个有两个变体的枚举 它要么包含对Vec of Strings 或者它包含一个Vec的参考文献Strings enum Foo lt a gt Owned a Vec
  • 在 Android 上用 Java 获取 SQLite SUM

    我是 SQLite 和 Java 的新手 我正在尝试即时学习 我有一列包含一些数值 我想获取它的总和并将其显示在文本视图中 我当前的代码是这样的 public Cursor getTotal return sqliteDatabase2 r
  • 如何根据 DataAnnotation 中的另一个属性验证一个属性

    考虑我有这两个属性 public class Test Required ErrorMessage Please Enetr Age public System Int32 Age get set Required ErrorMessage
  • 在大型 PR 堆栈中深度重命名变量

    我有一个包含 100 次提交的 PR 它将作为许多较小的 PR 提交 在 PR 堆栈的底部 我选择了一个现在觉得很奇怪的变量名称 并且希望在每次提交期间更改它 但不想在各处繁琐地解决合并冲突 有没有办法自动执行此操作 使用一些 cli 命令
  • 调整生成的相机流的大小

    我试图让用户捕获图像并使用图像将其添加到屏幕上 然而 由于内存限制 我还需要将此图像的大小调整为大约一半大小 12x 5MP 图像在手机上永远不会很好 我正在正常启动相机任务 它调用 Completed 事件 但是 当我尝试使用 Decod
  • Highcharts - 有关完整图表宽度的问题

    我正在使用 Highcharts 柱形图 我希望它是 100 宽度响应式图表 容器很简单 div 没有任何格式 当文档加载时 图表始终是固定宽度 600x400px 大小 如果我调整窗口大小或切换到另一个浏览器选项卡 图表将填充宽度并变成响
  • 将 >100K 页面链接在一起而不会受到 SEO 惩罚

    我正在创建一个网站 该网站将审查互联网上数十万个其他网站的隐私政策 它的最初内容是基于我的运行普通爬行 http commoncrawl org 50 亿页网络转储和分析所有隐私政策 https stackoverflow com ques
  • 如何使用 Retrofit 和 RxJava/RxAndroid 处理响应错误?

    我无法弄清楚如何使用改造和 RxAndroid 处理响应错误 如果存在网络错误等 则会调用 onError 但我需要能够获取响应以检查是否存在身份验证错误 相反 我得到的是一个带有空字符串的令牌 但我找不到原因 解决这个问题的最佳方法是什么
  • 如何修复滚动

    我在将工具提示定位在表内的数据列上时遇到一些问题 该表本身位于垂直滚动 div 内 为您提供一点背景 由于我无法控制的遗留问题 我正在开发的页面必须通过固定宽度和高度的 iframe 来显示 我需要显示的数据大约有12列 需要全部显示 一列
  • Django - 为什么syncdb不尊重数据库路由器?

    我已经设置了一个数据库路由器 使用以下命令将不同的应用程序和不同的模型定向到不同的数据库db for read and db for write路由器方法 这非常有效 除了 manage py syncdb不尊重这些路由器设置 When I
  • 作为 JS 的相对初学者 我正在努力尝试找到解决方案 我需要找出无序列表的哪一行被单击 ul li Line 1 li li Line 2 li li Line 3 li ul 我真的不想为每一行添加 onclick 事件 我确信一定有办法
  • 在 Android 中将图像添加到画布

    今天是个好日子 我希望您能帮助我理解如何在视图上实现的 OnTouchEvent 上将图像添加到画布中的概念 到目前为止 这就是我想出的 parent是在此自定义视图中实例化并添加到的活动 Override protected void o
  • mongodb 将 $lte 与 $indexOfArray 一起使用

    与模型的集合 stack mean 3 5 如何查询平均值小于 4 38 的堆栈数组索引 db stacks aggregate project index indexOfArray stack mean lte 4 38 我收到此错误 o
  • “@+id”是什么意思?

    我已经阅读了大部分 Android 文档 但还没有找到任何声明来说明 id 值前缀 id 的含义 我知道 string 及其变体的含义 但不知道 的变体 除了给我答案之外 你能告诉我 Android 文档中记录的位置吗 加号仅表示如果 ID
  • 为什么coq互感类型必须具有相同的参数?

    下列的亚瑟的建议 https stackoverflow com a 17304209 403875 我改变了我的Fixpoint相互关系Inductive这种关系 建立 游戏之间的不同比较 而不是 深入研究 但现在我收到一条全新的错误消息
  • 客户端 XSLT 的当前状态

    我上次听说 暴雪是少数几家将客户端 XSLT 付诸实践的公司之一 2008 年 2011年还是这样 还是现在有更多人在生产中探索这种技术 现代浏览器 IE9 FF4 Chrome 和客户端处理能力似乎已准备好利用此标准 在大规模属性上切实节
  • 为什么有人使用 UTF-8 以外的编码? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我想知道为什么开发人员需要使用 UTF 8 以外的编码 维基百科列出了 UTF 8 与各种其他编码相比的优点和缺点 http en wikipe
  • UIACollectionView 单元格与visibleCells

    我正在尝试使用 xcode 4 5 中的自动化编写测试脚本 我有一个UICollectionView我想单击一些当前不可见的单元格 根据文档 http developer apple com library ios documentatio
  • 通过 $.ajax 调用返回附件

    我的页面上有一个 iframe 在该 iframe 内我执行代码 ajax url SamplePage ExportToExcel async false data par type POST 响应返回正常 但是我没有收到 保存附件 对话