javascript – 将JSON传递给服务器,如GET / POST,以获取文件而不是ajax回复

我在
javacript中创建了一个包含大量数据的对象,并将其序列化为
JSON以将其发送到服务器.在此之后,服务器必须做一些工作并创建一个动态文件,以便可以下载.

 对于最后一个例程,我创建了一个ASHX但可以修改.我已经得到了一个“httpcontext”,我在另一个问题中找到了如何使用它来从JSON获取数据,所以我的问题与此无关.

这个问题(更多面向JS)是这样的:

我如何将JSON作为URL / GET / POST发送到ASHX到通用处理程序以避免“ajax回复”并且是用户打开一个新窗口,其中链接是否会生成?

谢谢,抱歉我的英文(请编辑)和亲切的问候!

注1:我不能使用第三方代码
注2:我不能使用JSON.NET
注3:我无法在服务器上保存报告,因此响应必须是要下载的生成文件,更重要的是,下载本身就是服务器的响应.

—更新—-

我读过这个问题:
Can I post JSON without using AJAX?

我从这个问题中唯一不理解的是如何使它工作,思考我有一个“链接”下载

最佳答案 我假设你不想刷新整个页面,所以有一个解决方法.

1)Ajax-load iframe,例如,它是一个单独的aspx文件.

2)在该单独的aspx文件的代码隐藏中,在内存中生成文件并将其转换为字节数组.

3)然后使用Response将字节流式传输给用户.

点赞