如何在页面重新加载时保持Javascript生成的HTML?

如何在页面重新加载时保持Javascript生成的HTML?,javascript,jquery,html,ajax,codeigniter,Javascript,Jquery,Html,Ajax,Codeigniter,我的问题很简单,但我没有找到一个适合我所寻找的答案。这是我的基本情况: 我有一个带有表单的HTML页面。使用jQuery和AJAX,我提交表单,使用一些javascript代码,我更改div的HTML内容。在按F5/Ctrl-R/Cmd-R时,无需重新加载页面 下面是一个用于更改HTML内容的.js代码示例: $.ajax({ type: "POST", url: "/management/uploadFile", dataType: "JSON", data:

我的问题很简单,但我没有找到一个适合我所寻找的答案。这是我的基本情况:

我有一个带有表单的HTML页面。使用jQuery和AJAX,我提交表单,使用一些javascript代码,我更改div的HTML内容。在按F5/Ctrl-R/Cmd-R时,无需重新加载页面

下面是一个用于更改HTML内容的.js代码示例:

$.ajax({
    type: "POST",
    url: "/management/uploadFile",
    dataType: "JSON",
    data: "uploadedFile="+uploadedFile,
    cache: false,
    success: 
    function(data){
        $('#mydiv').html(change_html(data));
    },
});

function change_html(data)
{
    var html;

    html += '<div id="mydiv">';
    html += 'Hello World !<br/>';
    html += '</div>';
    return html;
}
$.ajax({
类型:“POST”,
url:“/management/uploadFile”,
数据类型:“JSON”,
数据:“uploadedFile=“+uploadedFile,
cache:false,
成功:
功能(数据){
$('#mydiv').html(更改html(数据));
},
});
函数更改\u html(数据)
{
var-html;
html+='';
html+=“你好,世界!
”; html+=''; 返回html; }
事实上,如果我手动重新加载页面,我的“动态”HTML内容将不会保留,我将看到我的表单

我对网络开发还很陌生,我肯定我错过了一些关于这方面的东西。有人能给我一些关于我的情况的建议吗


谢谢大家!

我过去解决这个问题的方法是使用backbone.js模型并在其中存储任何数据。

由于HTML是使用回调
change\u HTML
动态生成的,因此在重新加载页面时不可能保留它。这就是它具有良好动态性的本质。

有没有可能,因为您无论如何都在使用ajax,您可以将数据转储到php会话中,并在需要时调用它和/或使用ajax重新格式化它?

简短的回答是,您不能在刷新期间保持DOM的状态。不过,您可以做许多事情来修复:

  • 请看在页面加载时调用AJAX方法,该方法获取服务器上保存的数据以重新绘制动态页面
  • 将数据存储在客户端浏览器的会话中,重新加载时检索该数据并重新绘制动态页面。您可以使用许多持久化到会话存储的工具来实现这一点

  • 我可以这样做,但我希望避免在会话中存储太多的内容。如果从一个页面到下一个页面有那么多数据要存储,那么查看数据库来存储数据可能是明智的??不完全确定您的应用程序是什么以及什么可能是最合适的。