0
我们有一个显示报告的网页,带有一组动态过滤器。是否有可能使用JSON正文从JavaScript中获取非AJAX HTTP POST来下载文件?
用户选择一个指定的报告,该页面从WebApi获取有效的过滤器作为JSON列表。用户可以选择过滤器,然后在网格中显示结果(再次通过WebApi调用)。目前为止所有罚款
现在我们允许将数据下载为文件(例如Excel)并且遇到问题。
我们想送HttpPost(但不的 AJAX 后)与JSON过滤数据,从而使浏览器下载文件。我们不能使用JQuery $ .ajax或$ .post,因为数据在回调中返回,而不是作为浏览器处理下载。
我们试验了一个标签和一个提交按钮,但是搜索StackOverflow建议这只支持以名称 - 值对的方式发送数据,而不是JSON主体。除非你知道不同吗?
看来最简单的方法是使用一个带有单个隐藏的输入字段,使用JSON的在隐藏控制编码的内容,然后在服务器手动反序列化此?
感谢您的代码和概念。它适用于简单的对象,但数组可能会出现问题,再加上我不确定嵌套对象是如何工作的。我认为我们必须咬紧牙关并将JSON序列化为字符串值 - 这似乎是最简单的选择。 – Quango 2013-02-13 11:09:40