【发布时间】:2013-10-20 17:46:42
【问题描述】:
我有一个 ajax 发布请求:
function downloadElevationMap() {
var jsonData = ko.toJSON(mod.SelectedItem);
$.ajax({
url: '/Home/GetData/',
type: 'POST',
contentType: "application/json; charset=utf-8",
dataType: 'json',
data: jsonData,
success: function (data) {
console.log("OK");
},
});
}
控制器方法接收数据正确。代码如下:
public FileStreamResult GetData(Mv jsonData)
{
var resultAll = jsonData.Data.Select(d => d.y).ToList();
var str = new StringBuilder();
_fileName = "ses"+jsonData.Path;
foreach (var d in resultAll)
{
str.Append(d + " ");
}
var byteArray = Encoding.ASCII.GetBytes(str.ToString());
var stream = new MemoryStream(byteArray);
return File(stream, "text/plain", string.Format("{0}.txt", _fileName));
}
Mv - 是我的代表数据的类。调试时str 和流variable 都包含正确的数据。
函数downloadElevationMap()被onclick="downloadElevationMap()"调用
我只想当downloadElevationMap() 被调用时GetData 控制器返回一个文件以供下载。但根本什么也没发生。错误在哪里?
【问题讨论】:
-
这实际上不是 JSON。
-
这将是您的最佳解决方案......stackoverflow.com/a/7660817/1068147
标签: c# ajax asp.net-mvc json post