我有一个非常简单的 Ajax 调用,以 1 秒的间隔运行,它使用匹配状态更新我的页面:
var getMatches = function() {
$.ajax({
url: '/match',
type: 'GET',
success: function(data) {
avm.matches(data);
},
error: function(jqXHR, textStatus, errorThrown) {
console.log('Error occured: ' + errorThrown);
}
});
};
这从项目一开始就运作良好,但最近开始出现行为不端 - 仅在 Chrome 上。
调用不会触发 - 我在服务器端有 Log::debug,但调用没有到达它。开发人员工具中的网络面板不显示呼叫。是“textStatus
错误”,errorThrown
是空的,jqXHR.status
是 0。发生这种情况时,如果我只是运行http://localhost/match
,甚至在 FireFox 中打开同一页面 - 我会得到正确的结果。所以这不是服务器或路由问题 - 它纯粹是在客户端。
这种行为是昨天开始的,现在我也在生产服务器上观察它。它是零星的——如果我关闭 Chrome、清理缓存等,它会再次工作——一段时间。缓存中是否存在阻止调用的内容?
任何想法如何解决这个问题?