这个问题是我问的另一个问题的后续问题 - 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 来完成。
抱歉,如果这有点漫无目的和脱节。我很乐意澄清任何可能对任何人都没有意义的部分。
最佳答案
关于vb.net - 使用 jQuery Post 从 .ashx 获取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8822855/