如果互联网连接中断,如何保存表单数据?

时间:2017-11-09 14:57:03

标签: javascript jquery html5 forms local-storage

我开发了单页应用程序,我们的客户将以各种形式输入数据。他们中的一些人会出去上门并从客户那里收集信息。在这种情况下,他们可能会使用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并且将其用作唯一密钥,或者有更好的方法,那么用户将在当时为一个客户端保存数据?如果他们在连接回来之后访问同一个客户端,我该如何处理这种情况呢?打开表单后,我应该为他们提供加载旧数据的选项吗?如果有人可以提供一些示例或建议什么是最好的方法,请告诉我。我正在寻找应该可靠的长期解决方案,因为这些数据也可能很大且敏感。提前谢谢。

0 个答案:

没有答案