C# 使用ajax请求获取可下载文件
编辑:不确定为什么会将其标记为重复,因为原始版本除了“使用此第三方工具添加您可能不想要或不需要的额外界面内容”之外,根本没有其他答案。我之所以使用ajax,是因为我需要发送一个ID数组,除了使用ajax之外,我不知道如何发送。我知道我需要做什么,所以我真的不需要更多的帮助,但这绝对不是一个重复的问题,即使是,也没有一个真正的答案 我一直在尝试获取一个链接,该链接将下载由导出脚本生成的文件。但是,我无法获取它以获取返回的文件。这是我一直在使用的JS函数C# 使用ajax请求获取可下载文件,c#,javascript,jquery,ajax,C#,Javascript,Jquery,Ajax,编辑:不确定为什么会将其标记为重复,因为原始版本除了“使用此第三方工具添加您可能不想要或不需要的额外界面内容”之外,根本没有其他答案。我之所以使用ajax,是因为我需要发送一个ID数组,除了使用ajax之外,我不知道如何发送。我知道我需要做什么,所以我真的不需要更多的帮助,但这绝对不是一个重复的问题,即使是,也没有一个真正的答案 我一直在尝试获取一个链接,该链接将下载由导出脚本生成的文件。但是,我无法获取它以获取返回的文件。这是我一直在使用的JS函数 function sendSelected(
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>
jQuery(“#导出”)。单击(函数(){sendSelected(“/Forms/export”);});
这一切都很好,除了我的导出器以
document.Save结尾(响应,“file.pdf”)代码>而页面无法将此返回。如果我将其更改为document.Save(响应@“C:\some\location\to\Save\at.pdf”)代码>文件是在那里创建的,所以我知道创建文件没有问题。另外,如果我只是创建一个指向/Forms/Export的标准表单,然后手动输入ID,我可以很好地下载文件,但这对我的实现不起作用。$。ajax不起作用,我最近尝试了类似的方法,但最终得到了不同的解决方案。只需创建一个带有隐藏输入的表单,然后在sendSelected中设置字段和操作,然后提交表单
$("#hiddenField").val(data);
$("#yourForm").attr("action", path)
$("#yourForm").submit();
$.ajax将不起作用,我最近尝试了类似的方法,但最终得到了不同的解决方案。只需创建一个带有隐藏输入的表单,然后在sendSelected中设置字段和操作,然后提交表单
$("#hiddenField").val(data);
$("#yourForm").attr("action", path)
$("#yourForm").submit();