gpt4 book ai didi

c# - 使用 ajax 请求获取可下载文件

转载 作者:行者123 更新时间:2023-11-28 02:03:54 25 4
gpt4 key购买 nike

编辑:不知道为什么这被标记为重复,因为原始版本甚至没有真正的答案,除了“使用这个第三方工具来添加您可能不想要或不需要的额外界面内容”。我使用 ajax 的原因是因为我需要发送一个 ids 数组,但除了使用 ajax 之外,我不知道如何做到这一点。我弄清楚了我需要做什么,所以我真的不需要这篇文章的任何更多帮助,但这绝对不是一个重复的问题,即使是,原始问题也没有真正的答案。

我一直在尝试获取一个链接来下载由我的导出脚本生成的文件。但是,我无法获取返回的文件。这是我一直在使用的JS函数...

function sendSelected(path) {
var ids;
ids = jQuery("#grid").jqGrid('getGridParam', 'selarrrow');
if (ids.length > 0) {
alert("");
$.ajax({
url: path,
data: { ids: ids },
type: "POST",
traditional: true,
});
} else {
alert("You have not selected any rows.");
return false;
}
}

然后这是 HTML 部分...

<input type="submit" name="command" value="Export" />
<script type="text/javascript">
jQuery("#export").click(function () { sendSelected("/Forms/Export"); });
</script>

一切正常,除了我的导出器以 document.Save(response, "file.pdf"); 结尾并且页面没有得到这个信息。如果我将其更改为 document.Save(response, @"C:\some\location\to\save\at.pdf");该文件是在那里创建的,所以我知道创建该文件不是问题。另外,如果我只是创建一个指向/Forms/Export 的标准表单,然后手动输入 ids,我可以很好地下载该文件,但这对我的实现不起作用。

最佳答案

$.ajax 不起作用,我最近尝试了类似的方法,但最终得到了不同的解决方案。只需有一个带有隐藏输入的表单,然后在 sendSelected 中设置字段和操作,然后提交表单即可。

    $("#hiddenField").val(data);
$("#yourForm").attr("action", path)
$("#yourForm").submit();

关于c# - 使用 ajax 请求获取可下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18062713/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com