我开发了单页应用程序,我们的客户将以各种形式输入数据。他们中的一些人会出去上门并从客户那里收集信息。在这种情况下,他们可能会使用hotspot
,他们的连接可能会上下取决于接收。在应用程序中,他们可以在此时输入一个客户端数据/表单。所以他们想知道连接是否会因为已输入的数据而发生变化。由于此应用程序使用的是AJAX,因此在遇到submit
按钮之前应该会遇到问题。一旦触发该过程并且连接中断,他们就无法保存数据。所以我的问题是在这种情况下最好的做法是什么?我探讨了一些选项,其中一个选项是将数据存储在HTML5支持的local storage
中。以下是我的代码示例:
$('#'+frmID).on('submit', function(e){
$.ajax({
type: 'POST',
encoding:"UTF-8",
url: 'Application.cfc?method='+frmID,
data: formData,
dataType: 'json'
}).done(function(obj){
if(obj.STATUS === 200){
return true;
}else{
return false;
}
}).fail(function(jqXHR, textStatus, errorThrown){
if(jqXHR.status == 0){
//Here I would notify user if connection is down and save the data in temporary storage
}else{
alert("Error: "+errorThrown);
}
});
}
});
我想知道,因为如果我为每个客户端创建本地存储key
并且将其用作唯一密钥,或者有更好的方法,那么用户将在当时为一个客户端保存数据?如果他们在连接回来之后访问同一个客户端,我该如何处理这种情况呢?打开表单后,我应该为他们提供加载旧数据的选项吗?如果有人可以提供一些示例或建议什么是最好的方法,请告诉我。我正在寻找应该可靠的长期解决方案,因为这些数据也可能很大且敏感。提前谢谢。