如何在不实现我自己的数据库后端的情况下保存站点的状态?
Posted
技术标签:
【中文标题】如何在不实现我自己的数据库后端的情况下保存站点的状态?【英文标题】:How to save a state of a site without implementing my own database backend? 【发布时间】:2016-11-04 05:00:15 【问题描述】:假设有一个用户经常使用的网站(一个 javascript 应用程序)并且他们请求能够在该网站上保存他们的状态,以便他们可以从他们离开的地方继续。
该站点没有数据库后端,它都是一个单页javascript应用程序,具有相当复杂的状态,因此不能简单地生成一个url,因为状态可能是几千字节,所以它对于一个url来说太大了。
Cookie 也不是一个选项,因为它的大小和我希望状态是可移植的,所以当用户保存它时,他也可以使用它在另一台机器上继续。
由于我不想使用数据库后端和身份验证使站点复杂化,我认为可以将站点的状态生成为用户可以复制的文本,然后可以将此文本配置粘贴到可以解析的文本字段中从 javascript 恢复应用状态。
它可以工作,尽管它对用户来说有点麻烦(将文本配置存储在某处并稍后将其粘贴回来)。是否有其他选项可以在不添加数据库的情况下执行此操作? (例如,我考虑将文本配置(没有机密信息)保存到某个公共粘贴站点,但我不知道是否有一个支持匿名上传的 js api)。
还有其他选择吗?
【问题讨论】:
这就是Databases
存在的原因..
为什么不只添加一个数据库?
@Tom 所有可用的客户端都将被限制在一台机器上(当前客户端)。您需要一台集中式机器、一台服务器来分发信息。
你可以看看像 firebaseio 这样的东西。
你也可以看看Myjson:myjson.com/api
【参考方案1】:
根据您的 cmets,我认为 Firebase 可能是您的选择。它是一个数据库,但不在本地托管。您可以让您的客户端 javascript 直接访问它,而不会弄乱您自己的后端。
【讨论】:
它有 JS 并且免费计划对我来说似乎绰绰有余(我的不是商业应用程序,所以我不想为此支付额外费用。)看起来这就是我的答案问题,但我还没有将其标记为已解决,以防有人发布其他解决方案。【参考方案2】:您可以查看localStorage
并使用JSON.parse()
和JSON.stringify()
分别对其进行读写。
编辑: 对不起,刚刚注意到你说你希望它是便携式的。如果没有后端,这将变得非常困难,除非用户随身携带他的设置并在每次访问网站时上传它们。
【讨论】:
是的,但是localstorage在电脑之间是不可移植的,所以和cookies有同样的问题。以上是关于如何在不实现我自己的数据库后端的情况下保存站点的状态?的主要内容,如果未能解决你的问题,请参考以下文章
如何在不使用 Visual Studio 的情况下使用 ASP.NET MVC 实现站点?
如何在不使用 Visual Studio 的情况下使用 ASP.NET MVC 实现站点?