这个问题是我问的另一个问题-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然后生成.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/

10-12 00:29