我们在通过 Ajax 加载多个局部视图时遇到了一个小问题,我无法缩小范围。
该页面通过单击按钮加载 6 个部分视图。
我们最初让服务器在单个页面上呈现部分视图,但这意味着处理是连续运行的,并且页面不会很快返回。
所以我创建了一些 javascript 来运行和异步 ajax 请求来刷新它们(请注意,部分视图 url 在标记中呈现以使这更容易,暂时)。
function refreshAllPartials() {
$('div.partial').each(function () {
var partialView = $(this);
var partialViewUrl = $(partialView).attr('partialUrl');
var parent = $(partialView).parent();
$(parent).empty();
$.ajax({
url: partialViewUrl,
type: "GET",
async: true,
success: function (response, textStatus, jqXHR) {
$(parent).html(response);
}
});
});
}
现在,问题是虽然每个部分视图请求大约需要 0.7 秒才能返回(使用 Fiddler 检查),但 Firebug 的输出显示了一些不同的东西。
fiddler 的输出在几毫秒内是一致的,但是 firebug 输出和用户的视觉效果似乎在不断变化。
我猜想关于javascript如何工作以及渲染如何工作,我缺少一些东西,但也许我只是做错了什么?
我正在使用 ASP.NET MVC3,但是,我不确定它是否相关,因为 Fiddler 显示 IIS 正在及时返回数据。