2016-08-01 58 views
5

我有一個簡單ViewComponent在chrome瀏覽器正常工作和Firefox,但不會在瀏覽器邊緣\ IE 11工作。渲染ViewComponent與阿賈克斯不工作邊/ IE11

組件顯示時間(僅舉例)。

顯示Chrome和Firefox時間。

邊緣瀏覽器\ IE 11,時間僅在頁面第一次啓動時顯示並保持如此,時間「凍結」。

當我打開瀏覽器的開發工具,以及在IE 11,該組件開始正常工作,並顯示當前時間(就像其他瀏覽器)

當我關閉F12開發工具,組件停止工作(時間「凍結」)。

它重複 - F12 開放工作組件,F12 關閉組件停止工作

我失去了一些東西在這裏?

附加 謝謝


的HomeController過程的簡單代碼:

public IActionResult GetTime() 
{ 
    return ViewComponent("GetTime"); 
    //// var time = DateTime.Now.ToString("h:mm:ss"); 
    //// return Content($"The current time is {time}"); 
} 

GetTimeViewComponent:

public class GetTimeViewComponent : ViewComponent 
{ 

    public IViewComponentResult Invoke() 
    { 

    var model = new string[] 
    { 
    "Hello", DateTime.Now.ToString("h:mm:ss") , "the", "view", "component." 
    }; 
    return View("Default", model); 

    } 

} 

默認:

@model string[] 
<ul> 
    @foreach (var item in Model) 
    { 
     <li class="text-danger">@item</li> 
     } 
</ul> 

**Index** 

<div id="myComponentContainer">@await Component.InvokeAsync("GetTime") </div> 

**Js/Ajax** 

$(function() { 

    var refreshComponent = function() { 
    $.get("Home/GetTime", function (data) { 
    $("#myComponentContainer").html(data); 
    }); 
}; 
    $(function() { window.setInterval(refreshComponent, 1000); }); 

}); 

回答

1

嘗試設置緩存falseajaxSetup

$.ajaxSetup({ cache: false }); 

或者使用

$.ajax({ cache: false, //other options... });