繁体   English   中英

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

[英]How to keep HTML generated by Javascript on page reload?

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

我有一个带有表单的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;
}

事实是,如果我手动重新加载页面,我的“动态” HTML内容将不会保留,并且我会看到表单。

我是Web开发的新手,所以我肯定错过了一些事情。 有人可以指导我还是给我一些有关我的案件的提示?

谢谢 !

简短的答案是您不能通过刷新来保持DOM的状态。 您可以做一些事情来解决:

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

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

由于HTML是使用回调change_html动态生成的,因此无法在页面重新加载期间保留它。 这就是动态性的本质。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM