gpt4 book ai didi

ajax - 如何处理 .ajax 帖子中的 FileStream 返回类型?

转载 作者:行者123 更新时间:2023-12-04 20:41:34 24 4
gpt4 key购买 nike

我正在通过以下代码发送 JSON 对象.. Controller 以 CSV 格式返回值,应提供提示以打开或另存为 CSV 文件。我无法理解到底应该写什么代码才能成功:function (result)

导出链接

Html.ActionLink("Export", "", "", null, new { @onclick = "return exportData();"})

function exportData() {

var searchViewModel = getExLogSearchModelData();
var path = getAbsolutePath("ExclusionLog", "ExportData");
$.ajax({
url: path,
cache: false,
contentType: 'application/json; charset=utf-8',
dataType: 'html',
type: 'POST',
data: JSON.stringify(searchViewModel),
success: function (result) {
},
error: function (error) {
$("#voidcontainer").html("Error");
}
});

}

Controller Action 结果
    public ActionResult ExportData(ExclusionLogSearchViewModel postSearchViewModel)
{
try
{
IEnumerable<ExclusionLogViewModel> exclusionLogData = null;
exclusionLogcData = this._workerService.GetExclusionLogData(postSearchViewModel);

return CSVFile(exclusionLogMembershipSyncData.GetStream<ExclusionLogViewModel>(), "ExclusionLogTables.Csv");
}
catch (Exception ex)
{
throw ex;
}
return null;
}

你能建议如何做到这一点吗?

最佳答案

我遇到了同样的问题,但没有找到使用 $.ajax 下载文件的方法但我发现了一个优秀的 JavaScript 库,它提供了类似的行为:

https://github.com/johnculviner/jquery.fileDownload

你只需要调用这样的东西:

$.fileDownload(path, {
httpMethod: 'POST',
data: JSON.stringify(searchViewModel),
success: function (result) {
},
error: function (error) {
$("#voidcontainer").html("Error");
}
});

并记得在 Controller 中创建 cookie。在 src/Common有适合您的 Action 过滤器。

关于ajax - 如何处理 .ajax 帖子中的 FileStream 返回类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14178898/

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