Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 刷新/重新加载Angular 2 Web应用程序_Asp.net Mvc_Angular_Model View Controller_Page Refresh - Fatal编程技术网

Asp.net mvc 刷新/重新加载Angular 2 Web应用程序

Asp.net mvc 刷新/重新加载Angular 2 Web应用程序,asp.net-mvc,angular,model-view-controller,page-refresh,Asp.net Mvc,Angular,Model View Controller,Page Refresh,我是新来的。 我目前正在开发一个巨大的web应用程序,其中包含许多路线和子路线。 使用Web API。 我的应用程序中的主要问题是当用户登录时。我正在创建JWT令牌并将其保存在sessionStorage上,使用guard,我可以保持用户会话。但是,如果用户在刷新页面时填写了一个巨大的表单,并在表单上获得了一个包含大量信息的巨大页面,那么我在服务中保存的所有数据都将消失 如何处理用户刷新/重新加载页面?在不丢失数据的情况下您可以尝试使用AngularLocalStorage。这里有一个可能对您有

我是新来的。 我目前正在开发一个巨大的web应用程序,其中包含许多路线和子路线。 使用Web API。 我的应用程序中的主要问题是当用户登录时。我正在创建JWT令牌并将其保存在sessionStorage上,使用guard,我可以保持用户会话。但是,如果用户在刷新页面时填写了一个巨大的表单,并在表单上获得了一个包含大量信息的巨大页面,那么我在服务中保存的所有数据都将消失


如何处理用户刷新/重新加载页面?在不丢失数据的情况下

您可以尝试使用AngularLocalStorage。这里有一个可能对您有所帮助的链接:

更新

我只是做一个网络存储。将处理所有保存/删除数据的服务,并在会话存储和本地存储之间存储必要的对象。 我还在努力,但这是我的想法

从“jwt decode”导入{decode};
从“@angular/core”导入{Injectable};
@可注射()
导出类WebStorage服务{
构造函数(){}
公共设置数据(键:字符串,数据:任意){
让encodedData=window.btoa(JSON.stringify(data));
setItem(key,encodedData);
}
公共getData(键:字符串){
让encodedString=localStorage.getItem(键);
返回JSON.parse(window.atob(encodedString));
}
公共removeData(键:字符串){
localStorage.removietem(键);
}

}
考虑一下这一点,但每当用户填写表单时,我都需要将一个巨大的对象保存在本地存储中,然后当他重新加载页面时,我需要从中读取?这正常吗?在这种情况下经常使用它,据我所知,您正在存储字符串值?这应该不会太多,但您可以在应用程序中尝试,并测试性能。感谢您的回答,是的,我创建了一个web存储服务,它可以处理所有集合,并从本地存储/会话存储获取数据。但是现在每次重新加载我都需要检查每个ngOninit是否有与本地存储相关的内容?我认为它的质量太大了,有没有办法在最后一页保存“签入”以重新加载?缓存句柄?