如何解释Firebug Net面板中的灰色项目?

时间:2011-07-23 00:12:14

标签: javascript xmlhttprequest firebug

我正在尝试在我的Web应用程序中调试一些棘手的行为:看起来好像客户端正在发送XHR GET请求,但服务器实际上从未接收过它。此外,客户端似乎在看不见的请求中接收重复数据,因为它发送了先前的XHR请求。

进一步令人困惑的事情,Firebug将第二个XHR请求的颜色设置为Net面板中的浅灰色(这里的请求是从底部开始的第三个,第二个是“GET测试”):

enter image description here

我无法找到有关此着色意味着什么的任何文档。我想如果我理解这一点,它可能有助于解释这种不寻常的行为。

如果有人有任何见解,如果你能让我知道,我将不胜感激。

1 个答案:

答案 0 :(得分:18)

"Firebug color codes requests that are served from the cache in a lighter gray..."

因此,服务器没有看到请求的原因是客户端从未实际发送过它,它只是从其缓存中接收响应。如果您正在使用jQuery,则可以在ajax()上使用cache属性来防止缓存AJAX请求。如果你没有使用jQuery,你可以在请求URL的末尾附加一个虚拟参数,其值为当前时间(以毫秒为单位)(这实际上是我认为的jQuery)。

url + "?v=" + (new Date()).getMilliseconds()

这应该确保URL始终是唯一的,并阻止浏览器使用缓存。