【问题标题】:How to: Send JSON structure to server and return file in ASP.NET如何:将 JSON 结构发送到服务器并在 ASP.NET 中返回文件
【发布时间】:2010-07-02 11:16:05
【问题描述】:

我很难解决这个问题(可能是夏天的高温终于到来了)。

问题
我希望用户按下一个按钮 client side 执行 javascript 数据准备并最后将 JSON 结构发送到(当前是一个 asmx 网络服务) 服务器。 JSON 结构有几个层次。

服务器端我创建了一个 PDF 文件,我想将它发回给用户。

目标
用户的感觉是,她按下了一个按钮,并希望 PDF 返回给她 - 无论是在新窗口中还是作为下载(首选)。

工具
该系统由(客户端)HTML、JavaScript和ExtJS和(服务器端ASP.NET组成。

通常我会使用 ashx 处理程序将文件返回给客户端,但我可以将 JSON 结构发送到处理程序并仍然能够正确解析它服务器端 em>?

我正在寻找要使用的模式。

【问题讨论】:

    标签: asp.net json design-patterns client-server


    【解决方案1】:

    在客户端:提交 JSON 字符串作为表单数据的一部分。

    在服务器端:解析 JSON 字符串(this question 的答案列出了一些可在 asp.net 中使用的 JSON 解析器),然后生成 PDF。标题

    Content-disposition: attachment; filename=something.pdf;
    

    将使 PDF 显示为用户的下载。

    【讨论】:

    • 目前我正在使用 AJAX 发送请求,是否可以从 AJAX 请求的响应中提供文件?我可以看到我的问题在这里有点笼统:)
    • @Chau:我不这么认为。我认为你通常在这里做的是有一个不可见的<iframe>,并使用 javascript 在其中构建一个表单,然后提交该表单。这并不比真正使用 AJAX 复杂得多......(使用 <iframe> 可以避免更改当前页面的 URL,或者打开烦人的弹出窗口和/或创建空白选项卡,在为了给用户文件下载...)。
    猜你喜欢
    • 2014-08-19
    • 1970-01-01
    • 2013-12-15
    • 1970-01-01
    • 2014-01-13
    • 2013-09-24
    • 2020-10-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多