我正在尝试调试我的 Web 应用程序中的一些棘手行为:看起来好像客户端正在发送 XHR GET 请求,但服务器实际上从未接收到它。此外,客户端似乎在看不见的请求中接收到与它发送的先前 XHR 请求相同的重复数据。
更令人困惑的是,Firebug 在 Net 面板中将第二个 XHR 请求标记为浅灰色(这里的请求是从底部开始的第三个,第二个“GET 测试”):
我找不到任何关于这种着色含义的文档。我想如果我理解这一点,它可能有助于解释这种不寻常的行为。
如果有人有任何见解,请告诉我,我将不胜感激。
最佳答案
"Firebug color codes requests that are served from the cache in a lighter gray..."
所以服务器看不到请求的原因是客户端从未实际发送它,它只是从其缓存中接收响应。如果您使用的是 jQuery,则有一个 cache您可以在 ajax() 上使用该属性来防止缓存 AJAX 请求。如果您不使用 jQuery,您可以将一个虚拟参数附加到请求 URL 的末尾,该参数具有以毫秒为单位的当前时间值(我相信这实际上是 jQuery 所做的)。
url + "?v=" + (new Date()).getMilliseconds()
这应该确保 URL 始终是唯一的,并防止浏览器使用缓存。
关于javascript - 如何解释 Firebug Net 面板中的灰色项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6797361/