2

我正在为一个虚拟电话簿应用程序分配任务,这是本地前端职位空缺测试的“加分”部分。我以前用 angular 做过一些基本的应用程序,但我总是将它与 php 和 mysql 一起使用。对于这个项目,需求状态是我无法与服务器通信,因此我需要在没有真实数据库的情况下存储、编辑、删除和搜索数据。

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

4

4 回答 4

2

您可以使用简单的本地文件系统并将对象存储为 JSONJSON.stringify()并使用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
于 2016-07-25T10:06:01.387 回答
1

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

于 2016-07-25T10:04:45.880 回答
1

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

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

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

如果您使用 Angular,可以使用很棒的模块ngStorage,它使 Web Storage 以Angular 方式工作。

请注意:

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

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

于 2016-07-25T10:05:44.657 回答
0

你可以使用谷歌的 Firebase。如果 firebase 对您来说很复杂,那么请使用简单的 localstorage。

于 2016-07-25T10:01:29.480 回答