我有一个问题。在将这些代码放在我的jsp上后,我仍然可以看到我的缓存仍在增加。jquery和jsp - 仍然保存在缓存甚至缓存:false和response.setHeader(“缓存控制”,“无缓存”)
<% response.setHeader("Cache-Control", "no-cache"); %>
和我的JavaScript/jQuery的驻留在同一个JSP:
function waitForMsg() {
$.ajax({
type: "GET",
url : contextPath + "/groupChat",
async: true,
cache: false,
success: function (data) {
$("#divChatMessageTable").load(contextPath + "/groupChat/message");
setTimeout(waitForMsg, 1000);
},
error: function(XMLHttpRequest, textStatus, errorThrown){
setTimeout(waitForMsg, 15000);
}
});
if ($("#divChatMessageTable").height() > tableHeight) {
scrollToBottomChat();
tableHeight = $("#divChatMessageTable").height();
}
}
我已经设置了jQuery的cache:false
。
顺便说一句,我使用Firefox。
请帮忙。
之前什么是第一为宗旨ajax调用..它不发送任何数据,对任何响应都不做任何处理?还应该将'setTimeout'移动到'load'的成功回调,以便有一段时间进行该调用。类似地,您正试图在加载新内容之前测试新内容的高度,并且它应该在'load'的成功回调中完成也 – charlietfl
@charlietfl它远在其工作。它是一个简单的聊天。它每秒钟都会调用查询。我对这件事情真的很陌生。你能否贴一些你建议的代码?我尝试了你的建议,但似乎我不知道该怎么做。谢谢。 – TheOnlyIdiot
行..好吧,你能解释为什么或者如果调用'contextPath +“/ groupChat”'是必要的......它什么都不发送,并且对响应没有任何作用......可以删除它,只需用回调检查表高度 – charlietfl