最初,我的控制器操作接受GET。当我的数据增长时,我被迫转向POST方法以便能够发送更大的数据。 我的控制器操作如下:
[HttpPost]
public ActionResult ClausesPdf(MyArrayModel obj)
{
...
return File(pdf, "application/pdf", "file.pdf");
}
如何调用此操作并使用javascript下载文件?
答案 0 :(得分:1)
更新:我意识到我对AJAX的原始答案并不完全准确,因为无法从AJAX调用返回文件。我建议你看看这个问题:Download Excel file via AJAX MVC。我相信@CSL有一个很好的答案,类似于你想要的。
我的答案不是简单的javascript。这是jQuery中关于如何在那里完成的AJAX调用:
$.ajax({
url: urlControllerAction,
type: 'POST',
cache: false,
data: //your parameter data here
})
.done(
function(result, textStatus, jqXHR) {
//do something with the "result"
}
)
.fail(
//what should be done if something goes wrong
);