1

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

4

1 回答 1

0

一旦数据在客户端,如果没有像 Flash 这样的插件,Javascript 就无法将其保存在本地。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>
于 2013-03-02T20:26:50.300 回答