使用 ajax 渲染 ViewComponent 在 Edge/IE11 中不起作用
Rendering ViewComponent with ajax don't work in Edge/IE11
我有一个简单的 ViewComponent 在浏览器 chrome 和 Firefox 中正常工作,但 在浏览器 Edge \ IE 11.
该组件显示时间(仅作为示例)。
Chrome 并显示 firefox 时间。
Edge Browser\IE 11, 时间只在页面第一次打开时显示,一直如此,时间为"frozen".
但是
当我打开浏览器 Edge 开发工具以及 IE 11 时,组件开始正常工作并显示当前时间(就像其他浏览器一样)
并且当我关闭 F12 开发工具时,组件停止工作(时间 "frozen")。
并重复 - F12 打开组件有效,F12 关闭组件停止工作.
我是不是遗漏了什么?
附上流程的简单代码
谢谢
家庭控制器:
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); });
});
尝试在ajaxSetup
中设置缓存false
$.ajaxSetup({ cache: false });
或使用
$.ajax({ cache: false, //other options... });
我有一个简单的 ViewComponent 在浏览器 chrome 和 Firefox 中正常工作,但 在浏览器 Edge \ IE 11.
该组件显示时间(仅作为示例)。
Chrome 并显示 firefox 时间。
Edge Browser\IE 11, 时间只在页面第一次打开时显示,一直如此,时间为"frozen".
但是
当我打开浏览器 Edge 开发工具以及 IE 11 时,组件开始正常工作并显示当前时间(就像其他浏览器一样)
并且当我关闭 F12 开发工具时,组件停止工作(时间 "frozen")。
并重复 - F12 打开组件有效,F12 关闭组件停止工作.
我是不是遗漏了什么?
附上流程的简单代码 谢谢
家庭控制器:
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); });
});
尝试在ajaxSetup
false
$.ajaxSetup({ cache: false });
或使用
$.ajax({ cache: false, //other options... });