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

标签 javascript asp.net json

我在 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 加载一个 iframe,例如一个单独的 aspx 文件。

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

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

关于javascript - 将 JSON 传递到服务器,如 GET/POST 以获取文件而不是 ajax 回复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19298172/

相关文章:

javascript - 替换字符串中的多次出现

javascript - 无法实现 mustache js 来显示信息

c# - 在集合中找不到参数 'param_name'

python - gmail python api身份验证

javascript - 如何将选项卡补全添加到 Nodejs CLI 应用程序

javascript - 如何允许我的用户在 Cognito 用户池上重置密码?

javascript - 无法读取 HTMLSelectElement 处未定义的属性 'replace'

c# - ASP.NET Web Api - Startup.cs 不存在

php - 循环上传indexedDB数据到PHP

json - Angular - FormGroup 显示来自服务器 Rest Api 的 json 错误