【发布时间】:2014-04-22 20:29:36
【问题描述】:
我正在使用 JSF 2.2、Primefaces 4 和 jQuery 2.1 设计一个 Web 应用程序,其中 jQuery 负责 ajax 内容加载和无限滚动。
我遇到并且似乎无法解决的问题是,当我使用 jQuery 的 ajax 命令加载无尽滚动的内容时。这会创建新会话而不是使用已经存在的会话,并且显然是不可接受的,因为这会使 JSF 丢失存储的数据。 剩下的代码使用 .load() 函数进行其他操作,就像一个魅力。
您能帮我理解为什么会发生这种情况吗?
这是用于加载和附加新内容的代码部分:
$.ajax({
url: link,
type: "GET",
success: function(html) {
if(html) {
var result = $('<div />').append(html).find('#center_content_data').html();
$("#center_content_data").append(result);
$('#center_content_data_loading').hide();
}
}
});
编辑:我也尝试使用 .post() 和 .get() 加载内容,但得到了相同的结果。
$.post(link, function(data){
$(data).find("#center_content_data").appendTo("#center_content_data");
});
【问题讨论】:
-
jQuery 不会以任何方式或形式创建、读取或使用会话?
-
不,它所做的只是通过替换或附加新内容来为网站加载其他内容。无限滚动是代码中唯一明显导致创建新会话的部分,特别是上面显示的部分。
-
经过几天的尝试解决这个问题,当我终于发布了一个关于它的问题时,我也遇到了一些让我找到答案的东西。只要 stackoverflow 允许我,我将发布导致它的原因作为答案,对于任何有类似问题的人。
标签: jquery ajax jsf session primefaces