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

时间:2013-03-02 19:46:25

标签: javascript ajax html5 save client-side

我想向AJAX请求来自服务器的某些数据GET。然后我想提示客户端将这些数据保存在他/她的计算机上,以便以后可以在浏览器会话之外访问它。使用JavaScript可以实现这种保存功能,还是需要使用Flash库?我可以使用URI在本地执行此操作吗?我可以使用HTML5的本地存储吗?

1 个答案:

答案 0 :(得分:0)

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

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

以下是PHP中的一个示例。

演示: jsFiddle

服务器:

<?php
header('Content-Type: text/plain');
header('Content-Disposition: attachment; filename=data');

echo $_POST['data'];?>

客户端:

<!-- 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>