在页面刷新上保存控制器状态

我试图在我的表单中实现一个像保存消息一样的草稿function。

使用案例 :有一个表格,其中包含一些文本框,一些图片上传等。我的问题是如何保留这些值,如果这些已被用户填写页面刷新。 记住页面还没有被用户提交。 如果已经提交,那么我可以从服务器检索值,但是现在如何将值存储在input框中,以防单击提交button。

是否应该有一些API会定期保存值,或者只有当用户要closures页面或刷新页面时才能调用一些API。

我不知道这一点,并会在此感谢任何指针。

更新:

根据这些build议,我尝试了一些可以显示使用本地存储的preoperdevise和实现的教程/博客。 我发现以下好链接:

http://yeoman.io/codelab/local-storage.html https://domantasjovaisas.wordpress.com/2014/09/05/angularjs-saving-global-variable-in-localstorage/

很less有人怀疑:看起来我们可以将JSON对象存储在本地存储中,但是如何为给定的用户存储给定的对象。

用例:用户可以创build多个消息。 我只想保留没有保存的最后一条消息。 我如何devise这样的存储工作正常? 对于给定的userId我想保留一些数据在本地存储。 将数据库标识存储在本地存储中是否安全?

请build议

我build议使用一个抽象localStorage的库,并且如果你正在寻求支持旧版浏览器的话,它会推迟到cookies。 使用JSON.stringify并将其传递给您的存储服务。 如果您可能在一台计算机上有多个用户,也可以将用户名添加到密钥中。 无论如何,这将是一个很好的做法。

例子包括:

您可以挂入ng-change,手表,事件监听器或使用其他人build议的计时器。

更新:你可以在这里find一个简单的实现, http://scionsoftware.com/Blog/saving-form-state-with-angular-js/

如果你正在寻找的只是一个string值,只要从javascript中删除JSON.parse和JSON.stringify片断即可。