【问题标题】:write data to local browser storage in angularjs在angularjs中将数据写入本地浏览器存储
【发布时间】:2015-10-01 19:10:33
【问题描述】:

我正在使用 AngularJS 开发应用程序的前端。输入在搜索框中给出,单击搜索按钮时,我必须将数据保存在文本文件中。 (输入将是一个字符串)。我该怎么做?

此外,在此操作之后,我必须查看存储在 html 中的文本文件中的输出。我该怎么做?

【问题讨论】:

  • 到目前为止你尝试过什么?分享一些代码...还是您希望从头开始编写代码?
  • 我刚刚用谷歌搜索了“angularjs 写入文件”,并不难找到:stackoverflow.com/questions/28536265/…
  • 您所说的“保存”是什么意思?你想写入文件系统还是内存?
  • @akashrajkn 写入任何文件都会是一个严重的安全漏洞。
  • 为什么需要保存到文本文件? ...像数据库这样的“数据存储”怎么样? ...最终用户是否需要从其他地方访问文本文件?

标签: javascript html angularjs


【解决方案1】:

保存的数据通常不是给最终用户,而是给应用程序。

文本文件通常看起来是一种简单快捷的方式(当我们谈论 Web 应用程序和客户端访问时,情况并非如此)。

在此链接Client-Side Storage,您可以找到一些“本地存储解决方案”及其优缺点,您可以将其与基于服务器的数据库进行比较,以找到适合您应用的最佳方式。

正如它的标题所说,客户端存储的好处是无需互联网连接即可访问它。

【讨论】:

    【解决方案2】:

    只有当您可以让用户选择您需要写入的文件时,您才能使用文件系统 API 的全部功能。如果不是您的情况,您可以在代码中使用 cookie。

    saveData 函数可以将您需要的任何字符串保存在 cookie 中。即使您关闭浏览器(在我的示例中设置为 30 天),该文件也会存在。

    loadData 函数返回您在前一个会话中保存的数据。

    如果您使用它,请在 Angular 中使用 $cookies 提供程序。它以更好的方式总结了事情。

    如果您通过谷歌搜索进行更多探索,您会发现 cookie 可以做更多事情,包括将多个数据集保存在多个文件中。

    function saveData(searchQuery) {
    
        var d = new Date();
        d.setTime(d.getTime() + (30*24*60*60*1000));
        var expires = "expires="+d.toUTCString();
    
        document.cookie = "mySearch=" + searchQuery + "; expires=" + expires;
    

    };

       function loadData() {
           return document.cookie;
       }
    

    【讨论】:

      【解决方案3】:

      查看此链接:js-xlsx。另一种方法是使用angular.toJson方法,保存成json文件,根据需要访问

      【讨论】:

        猜你喜欢
        • 2014-12-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多