将当前页面数据存储在一个变量中,其格式/结构与Ajax html响应相同

Store current page data in a variable, in the same format/structure as an Ajax html response

本文关键字:结构 格式 Ajax 响应 html 变量 存储 数据 当前页 一个      更新时间:2023-09-26

我正在一个数组(jQuery)中存储/保存我的HistoryAjax调用响应。因此,在ajax加载成功后,我将响应数据存储在一个数组中,以便稍后使用它并应用/克隆(用于js端缓存)。

page_cache = [];
$.ajax({
  url: url,
  type: 'get',
  dataType: 'html',
  success: function (data) {
    var $response = $(data);
    page_cache[url] = $response;
  }
});

到目前为止还不错,但现在我需要the equivalent of the ajax call response data,但在当前页面上,这样我就可以在页面加载时存储/保存它了。

但很难找到办法。。

一直在尝试:

page_cache[url] = $('html').data();

但是运气不好。。

有什么建议吗?

如果你想在变量中显示整个页面,你可以使用它:

var $html = $('html').clone();
$html.find('body').html($response);
page_cache[url] = $html;

谨致问候。

你可以试试这个

var page_cache =[];
$.ajax({
  type: 'get',
  dataType: 'html',
  success: function (data) {
    page_cache[url] = data;
    $('html').html(data);
  }
});

用于搜索:

$('html').html(page_cache[url]);

对于当前页面html:

url = window.location;
page_cache[url] = $('html').html()

您是否尝试用$('body').html();获取body部分?

您可以使用page_cache[url] = $('body').html();保存html并用$('body').html(page_cache[url]); 取回