如果我在之前的Ajax请求仍在处理时执行后续(标准)请求,我有chrome给我“Aw Snap”错误。在我的浏览器调试器中,我可以看到Ajax请求的状态为(已取消)。任何人都可以解释这种行为或帮助我解决这个问题吗?
引起这个问题的代码是专有的,虽然我认为这个概念相当简单,但我希望有人可以根据描述给出任何解释。
我在控制器中有一个名为GetItemCount的方法
[NoCache]
public JsonResult GetItemCount(...)
{
// other code removed for brevity
Thread.Sleep(5000);
// other code removed for brevity
return new JsonResult
{
Data = new { count = 10 },
JsonRequestBehavior = JsonRequestBehavior.AllowGet,
ContentEncoding = Encoding.UTF8
}
}
使用
通过Jquery Ajax库调用上述方法$.ajax(request);
现在,当指示徽章等待显示时,如果我点击页面上任何位置的 href 标记...标签崩溃。如果我等待指示器显示然后单击,则一切正常。我还附加了Chrome调试器,它将请求标记为(已取消)。
更多调试信息,以下是Chrome开发人员工具告诉我的信息
主线程上的同步XMLHttpRequest因不推荐使用 它对最终用户的体验产生不利影响。如需更多帮助, 检查http://xhr.spec.whatwg.org/。 browserLink:37设置 同步请求的'XMLHttpRequest.withCredentials'是 弃用。