没有服务器的Angular数据库

时间:2016-07-25 09:57:49

标签: angularjs local-storage ng-storage

我正在为一个虚拟电话簿应用程序工作,这是本地前端工作开放测试的“额外点”部分。之前我用angular做了一些基本的应用程序,但我总是和php和mysql一起使用它。对于这个项目,要求声明我无法与服务器通信,因此我需要在没有真实数据库的情况下存储,编辑,删除和搜索数据。

我甚至不知道有什么选择来实现这样的目标,我不应该选择哪一个。我正在寻找一个可以帮助我实现这些要求的最简单的工具,最好是能够帮助我尽快启动和运行的文档。

4 个答案:

答案 0 :(得分:1)

要在客户端上存储数据,您可以使用任何本地存储方法:

  • WebStorage:Web Storage API(同时提供 sessionStorage localStorage
  • gears:基于Google Gears的持久存储
  • whatwg db:HTML数据库存储标准
  • cookie:基于Cookie的持久存储RFC

最佳选择取决于您需要存储的数据类型以及该数据的使用情况。最常见的选择是WebStorage

如果你使用Angular,那么伟大的模块ngStorage是可用的,它使Web存储以 Angular Way 工作。

警告:

  • 您当然只能存储每个用户的数据(即,您无法存储应用程序的任何全局状态)。
  • 任何客户端存​​储解决方案都会产生严格的空间限制,这通常因浏览器而异。

如果您只是不想使用任何本地服务器解决方案,您可以尝试使用某种云平台,例如firebase(刚刚被Google收购)或其他人。

答案 1 :(得分:1)

您可以使用简单的本地文件系统并使用JSON.stringify()将对象存储为JSON,并使用JSON.parse(jsonstring)

解析它们

将电话簿写入服务器的文件

var phonebook = {
    'name1' : 234283409,
    'name2' : 234253453,
    'name3' : 234234236
};

var jsonStr = JSON.stringify(phonebook);

/*
__________________
contents of jsonStr

{"name1":234283409,"name2":234253453,"name3":234234236}
__________________
write a logic here to save this JSON on a file in your server.
*/

将电话簿读取到您服务器的文件

//write a logic here to read JSON back from your server's file
var jsonStr = getJSONDataFromServer();

var phonebook = JSON.parse(jsonStr);

//now you can use your phonebook as a usual js object

答案 2 :(得分:0)

您可以使用Google's Firebase。如果firebase对你很复杂,那么使用简单的localstorage。

答案 3 :(得分:0)

您可以使用csv文件存储数据。