我在使用 $。ajax(); 代码下载csv文件时遇到问题。
我有一个控制器,它返回如下文件。
public ActionResult ExportEx()
{
StringBuilder sb = new StringBuilder();
sb.Append("<table>");
sb.Append("<tr>");
sb.Append("<td>1</td>");
sb.Append("<td>2</td>");
sb.Append("<td>3</td>");
sb.Append("<td>4</td>");
sb.Append("</tr>");
sb.Append("<table>");
HttpContext.Response.AddHeader("content-disposition", "attachment; filename=student_" + DateTime.Now.Year.ToString() + ".xls");
this.Response.ContentType = "application/vnd.ms-excel";
byte[] buffer = System.Text.Encoding.UTF8.GetBytes(sb.ToString());
return File(buffer, "application/vnd.ms-excel");
}
我有index.cshtml文件,如下所示
<input type="submit" value="Export To Excel" title="Export To excel" />
<script type="text/javascript">
$(".tt").click(function () {
$.ajax({
url: '/Home/ExportEx',
type: 'POST',
data: {},
success: function (data) { },
complete: function (data) { }
});
});
</script>
如果我使用<a class="tt" href="@Url.Action("ExportEx", new { })">export</a>
拨打电话,我可以下载csv文件。但是通过$.ajax
来电,我无法下载。
请帮助我。
提前致谢。
答案 0 :(得分:1)
$('button').click(function () {
window.location.href = '/Home/ExportEx';
});