vb.net - 使用 jQuery Post 从 .ashx 获取文件

标签 vb.net jquery asmx ashx

这个问题是我问的另一个问题的后续问题 - Passing client data to server to create Excel or CSV File .

我有一个客户端页面,它构建一个 JSON 对象以发送到服务器,并且我有一个服务器代码,可以将该 JSON 对象解析为 SQL 命令并最终得到所需数据的数据集。

我最初将 JSON 对象传递给 .asmx Web 服务,该服务将返回包含我的数据的 JSON 对象。现在我想转向不同的方向,并将数据作为 .csv 文件返回。

我知道我可以尝试将 JSON 对象放入查询字符串中并调用我的 .ashx 页面,但 JSON 对象可能会变得很大,因此我尝试使用 POST 的 Request.Form。

我的问题和缺乏理解是如何使用 jQuery 发布到 .ashx 页面并将 .csv 文件返回给客户端。如果我直接导​​航到 .ashx 页面(并修改页面以对传递的数据进行硬编码),则 .csv 文件返回给我没有问题(即我收到打开/保存文件的提示)。如果我从 jQuery 对 .ashx 文件进行 POST 并发送 JSON 对象,我会得到一个包含字符串数据的响应,而不是得到一个 .csv。

那么,我是否遗漏了什么,或者我只是想实现一些我不能或不应该做的事情?

我考虑过将 JSON 对象传递给 .asmx Web 服务,该服务会将 JSON 对象存储到数据库中并返回 ID,然后使用 window.location 以 ID 作为查询来浏览到 .ashx string 参数,然后生成 .csv 文件,但我认为可能有一种方法可以避免中间步骤并使用 POST 来完成。

抱歉,如果这有点漫无目的和脱节。我很乐意澄清任何可能对任何人都没有意义的部分。

最佳答案

我正在尝试做一些与我们所说的类似的事情。

看看这个问题。它可能对你有帮助。

How to: jQuery post to ashx file to force download of result?

关于vb.net - 使用 jQuery Post 从 .ashx 获取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8822855/

相关文章:

.net - 如何在不使用 app_code 目录的情况下编写 asmx web 服务?

java - 从 Android 应用程序调用 Web 服务似乎挂起

c# - C# ActionCommand :ICommand into VB.net 翻译

vb.net - VB.net计时器滴答事件问题

jquery - 在其他脚本之前异步加载 jquery

c# - 从同一 Web 服务调用 Web 方法

c# - RIA 服务 + 实体 - 客户端中的日期提前 24 小时

vba - 将现有任务 Pane 添加到新邮件 - Outlook

javascript - 将 div 表示为 Javascript 对象?

javascript - 在 div 标签内附加表格