我创建了一个html页面,根据参数' resourceType'呈现不同的页面。 ResourceType可以是IO / CPU / STORAGE等。我已经采用了这种设计的可重用性,因为我们对所有图表都有相同的布局,除了图表的输入因resourceType而异。
<script>
require(['../js/viewmodel/db-resource-analyze']);
</script>
<div class="oj-row" id="pageContent">
<div class="topchartRegionDiv">
.....
</div>
</div>
现在我从我的HOME页面加载此页面,该页面有垂直标签(如左侧菜单) 单击选项卡,我使用jquery load
动态加载页面window.paramObj =
{
resType: "cpu"
};
$('#cpuContent').load("db-analytics-resources-home.html", function(responseTxt, statusTxt, xhr) {
if (statusTxt == "success")
alert("External content loaded successfully!");
if (statusTxt == "error")
alert("Error: " + xhr.status + ": " + xhr.statusText);
});
下次用户点击IO选项卡...我执行相同的操作但使用不同的参数
window.paramObj =
{
resType: "io"
};
$('#ioContent').load("db-analytics-resources-home.html", function(responseTxt, statusTxt, xhr) {
if (statusTxt == "success")
alert("External content loaded successfully!");
if (statusTxt == "error")
alert("Error: " + xhr.status + ": " + xhr.statusText);
});
第一次加载没有任何问题,但后续加载不会发生,页面显示为空白。 我怀疑该页面已缓存但未加载。如何使用JQUERY加载强制重新加载跳过缓存。有什么指针吗?
答案 0 :(得分:0)
试试这个Stop jQuery .load response from being cached
$.ajaxSetup ({
// Disable caching of AJAX responses
cache: false
});
正如小伙子提到的那样,如果.load,。loadJSON等便利功能不能满足您的需求,请使用.ajax功能,您可以在那里找到很多可能会做什么的配置选项你需要
答案 1 :(得分:0)
你可以尝试这种方法。这将阻止所有缓存
$('#ioContent')。load(“db-analytics-resources-home.html?”+ Math.random(),function(){})
答案 2 :(得分:0)
非常感谢所有回复。我可以通过将JS脚本作为参数传递给JQUERY加载回调并在成功加载html doc时调用它来解决这个问题。
像这样: $('#' + resType + 'Content').load(url, function(responseTxt, statusTxt, xhr) {
if (statusTxt == "success")
{
alert("External content loaded successfully!...calling JS");
new self.dbResourceAnalyze();
}
if (statusTxt == "error")
alert("Error: " + xhr.status + ": " + xhr.statusText);
});