【发布时间】:2016-06-27 15:59:06
【问题描述】:
我正在尝试调用 URL 以将对象转换为 excel 文件以供客户端下载,因此我使用以下 HTML:
<form id="downloadAsExcelForm" style="display: none;" action="global/DownloadFile" method="POST">
<input id="downloadToken" type="hidden" name="token" value="" />
<input id="complexObject" type="hidden" name="complexObject" value="" />
</form>
连同以下 JavaScript:
var req = {
param1: "Example",
param2: 1,
param3: [ { attr1: "test", attr2: 1, attr3: "Hello" },
{ attr1: "test", attr2: 1, attr3: "Hello" },
{ attr1: "test", attr2: 1, attr3: "Hello" } ]
};
$("#downloadToken").val("nhwe1-jdw3e-djdw2-mkcds");
$("#complexObject").val(JSON.stringify(req));
$("#newQueryForm").submit();
最后是以下 Controller .cs:
public ActionResult DownloadFile(string token, wcfGlobal.complexObjectRequest complexObject)
{
...
}
我遇到的问题是令牌被接收得很好(它只是一个简单的字符串);但是,complexObject 被接收为 null。
有谁知道我该如何解决这个问题?对于这些类型的请求,我通常只使用jQuery.ajax(...),但考虑到我需要直接下载文件,我这里没有那个选项。
【问题讨论】:
-
控制器的类型是
Controller(例如MVC)还是ApiController? -
@TasosK。糟糕,它是控制器类型
-
我可能应该提一下,还有对象数组正在发送。我更新了 .js 部分以反映这一点
标签: javascript html asp.net asp.net-mvc web-services