在onDocumentReady(), $(function () {...})
中,有一行:window.setInterval("readPluginCache();", 3000);
readPluginCache()
方法调用ajax调用来检索命名$('#pluginCacheData')
元素的替换html并设置其格式。
我可以在Chrome浏览器(F12)中看到,每三秒钟记录一次Ajax启动,完成和成功事件(如预期的那样)。
但是,新的html不会替换旧的html值...
我在页面上有一个按钮(作为备份),它调用readPluginCache()
方法;它有效!
如何使setInterval()
方法有效?
function readPluginCache() {
if (!isAuthorized) {
addMessageError("Error: Unauthorized readCache attempt.");
return false;
}
$('#pluginCacheData').hide();
$.ajax({
type: "POST",
url: infoPageName + "/BriskPluginCacheInfoHtml",
data: '{}',
contentType: "application/json; charset=utf-8",
dataType: "json"
}).done(function (response) {
$('#pluginCacheData').empty();
$('#pluginCacheData').append(response.d);
}).fail(function (jqXHR, exception) {
if (jqXHR.responseText.toLowerCase().indexOf('html') !== -1) {
addMessageError("Internal Server Error: readPluginCache(). Please check the event log.");
}
else
addMessageError("Error: " + jqXHR.responseJSON.Message);
alert(exception);
}).always(function () {
$('#pluginCacheData').show();
});
return true;
}
答案 0 :(得分:0)
好的,我知道了。但我不确定为什么会这样... 我通过封装另一个称为readAll()的函数来抽象了原始的ajax调用,因此:window.setInterval(readAll,3000)。 readAll()依次调用三种不同的基于ajax的html / div修改方法。我做了这个b / c,页面的其他部分也需要动态更新...对我来说,为什么一个ajax调用不起作用时,为什么这种方法有效呢?