我正在开发一个ASP.NET MVC网站。
网站的工作方式如下:客户登录网站,他或她看到一个带有显示客户数据的图表的仪表板。图中显示的数据是通过ajax从服务器获取的,如下所示:
$.getJSON(_dataurl, function (data) {
// data is what is shown in the graphs
}
这会调用我的控制器:
[Route("CustomerUsage/UsageData")]
public async Task<JsonResult> UsageData()
{
// Fetches graph data - very time consuming in some cases.
}
为客户提取图表数据最多可能需要10秒钟。不幸的是,这不是我可以改变的。
问题在于,当浏览器等待控制器返回数据时,如果用户导航到菜单中的其他页面,则服务器在完成返回图形数据之前不会响应该请求。
有什么我可以做的,所以浏览器允许导航到不同的页面,即使它仍然没有从第一次调用返回到控制器?