Javascript 在客户端保存动态请求的数据

Javascript 在客户端保存动态请求的数据,javascript,ajax,html,save,client-side,Javascript,Ajax,Html,Save,Client Side,我想请求AJAX从服务器获取一些数据。然后,我希望提示客户端将此数据保存在其计算机上,以便以后可以在浏览器会话之外访问。JavaScript是否可以实现这种保存功能,或者我是否需要使用Flash库?我是否可以使用URI在本地执行此操作?我可以使用HTML5的本地存储吗?一旦数据位于客户端,Javascript就无法在没有类似Flash的插件的情况下将其保存到本地。HTML5具有下载属性,解决了所有这些问题,但它几乎没有支持[2013-03-02] 相反,您可以做的是在客户机上构建数据,然后将数据

我想请求
AJAX
从服务器获取一些数据。然后,我希望提示客户端将此数据保存在其计算机上,以便以后可以在浏览器会话之外访问。JavaScript是否可以实现这种保存功能,或者我是否需要使用Flash库?我是否可以使用URI在本地执行此操作?我可以使用HTML5的本地存储吗?

一旦数据位于客户端,Javascript就无法在没有类似Flash的插件的情况下将其保存到本地。HTML5具有
下载
属性,解决了所有这些问题,但它几乎没有支持[2013-03-02]

相反,您可以做的是在客户机上构建数据,然后将数据保存在服务器上,作为文件直接下载为附件。您需要使用HTTP头
内容处置
来执行此操作

下面是一个PHP示例

演示:

服务器:

客户:

要保存的数据:
下载

您需要并且可能您的最后一个帮助我希望在服务器上托管多个离散数据集。客户端可以请求将其中一个或多个数据集组合到客户端,然后保存。我不想在服务器上保存无限的排列集,也不想让服务器对数据集执行计算量大的组合操作。很好的建议,为正常的文件下载though@0xDEADFEED啊,你的问题是“从服务器获取数据”。相反,在客户机上进行合并,并使用AJAX发送回服务器,以便保存并立即下载。这就是有多少在线文字处理器和图像编辑器在工作。@0xDEADFEED我更改代码以动态处理客户端数据。考虑到数据已经存在于客户端的RAM中,听起来不必要地占用了大量带宽,但我离题了…@0xDEADFEED是的。没有闪光灯是很难看的。HTML5有
download
属性来解决所有这些问题,但它还没有支持。
<!-- language: lang-html -->

<form action="http://thinkingstiff.com/stackoverflow/download.php" method="POST">
    Data to save: <input name="data" type="text" />
    <button>download</button>
</form>