我对jquery和asp.net mvc很新。我的问题是我在控制器中调用一个返回FileStreamResult的方法。这工作正常,但是当我用jQuery帖子调用它时它不起作用。我可以看到vs调试工具,程序正在执行该方法。因此我认为它与我的jQuery调用应该处理返回参数有关? Somenoe?
jQuery代码:
<script type="text/javascript">
function createPPT() {
$.post("<%= Url.Action( "DownloadAsPowerpoint", "RightMenu" )%>");
}
</script>
控制器中的方法:
public ActionResult DownloadAsPowerpoint()
{
Stream stream;
//...
HttpContext.Response.AddHeader("content-disposition", "attachment; filename=presentation.pptx");
return new FileStreamResult(stream, "application/pptx");
}
有人可以解释并给我一些示例代码吗?
答案 0 :(得分:3)
使用$ .ajax()方法,因为您不发送任何参数:
function createPPT() {
//Show waiting dialog here
$.ajax({
url: '<%=Url.Action("DownloadAsPowerpoint") %>',
method:'GET',
success: function (fileStream) {
//Hide waiting dialog here
alert(fileStream); //This is your filestream
}
});
return false;
}