[英]ASP.NET MVC3 Updating div with Ajax
我知道這個問題可能已經回答了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。
請詢問或請求我嘗試解決的任何問題,除非有必要,否則希望提供可靠的修補程序而不是hack修補程序。 我要做的就是檢索一些數據庫結果,並將它們顯示為部分視圖中格式化的結果,並返回到名為resultbox1的div中。
提前非常感謝您。
也許IE緩存了響應(這對於GET請求是正常的,只是IE在這方面更具攻擊性)。 嘗試的事情:
[NoCache]
屬性裝飾您的LatestActivities
控制器操作 $.get
替換$.get
$.post
$.get
替換$.get
$.ajax
並設置cache: false
選項
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.