我知道这个问题可能已经回答了200多次,我已经在过去的2个小时内完成了stackoverflow,现在尝试了所有解决方案,所以我想我会在这里开火......
我的部分视图看起来像这样。
@using DatabaseEntities;
@using NJNightLifePortal.Models;
@model NJNightLifePortal.Models.StatisticsViewModel
@foreach (var item in Model.RecentlyLiked)
{
<div class="resultbox1">
@Html.ActionLink(item.Username, "profile", "account", new { id = item.Username }, null)
has recently liked @Html.ActionLink(item.VenueName, "venueprofile", "venue", new { id = item.VenueId, albumId = Utils.GetVenueDefaultAlbumIdByVenueId(item.VenueId) })
</div>
}
然后我通过setTimeout调用jqery ajax函数,如下所示。
$(function () {
setTimeout(
function () {
setInterval(RefreshStats, 2000);
RefreshStats();
}, 3000);
function RefreshStats() {
$.get('@Url.Action("LatestActivities", "Statistics")', function (data, status) {
console.log(data);
$('.resultbox1').html(data);
});
}
我也尝试了$.load
,$.ajax
..我也试过了document.getElementById(element).innerHTML = data;
,但我仍然得到了相同的结果。上述各项约定中的每一项都在 firefox 和 chrome 中运行良好,但无论我使用IE做什么,它最终都会刷新空白结果或重新创建一个全新的div部分视图甚至没有返回。
请询问或要求我想要解决的问题,并希望有一个可靠的解决方案而不是黑客修复,除非它是必要的。我所要做的就是检索一些数据库结果并显示它们,因为它们在局部视图中被格式化回名为resultbox1的div。
提前非常感谢你。
答案 0 :(得分:1)
也许IE会缓存响应(对于GET请求来说这是正常的,只是IE在这方面更具攻击性)。要尝试的事情:
[NoCache]
属性LatestActivities
控制器操作
$.get
替换为$.post
$.get
替换为$.ajax
并设置cache: false
选项