On Oct 12, 11:56 pm, Michael Geary <m...@mg.to> wrote:

> This doesn't make any sense.

I agree!


> You have a <script> tag that loads jQuery:
>
> <script src="/Scripts/jquery-1.3.2.min.js" type="text/javascript"></script>
>
> The GET that the browser issues for this <script> tag will not have a query
> string. The browser isn't going to add a query string to the URL you give
> it, intermittently or otherwise.
>
> How could ajaxOptions affect this? That is code you run *after* loading
> jQuery.

I believe this is the relevant section from the jQuery-1.3.2 source:

                if ( s.cache === false && type == "GET" ) {
                        var ts = now();
                        // try replacing _= if it is there
                        var ret = s.url.replace(/(\?|&)_=.*?(&|$)/, "$1_=" + ts 
+ "$2");
                        // if nothing was replaced, add timestamp to the end
                        s.url = ret + ((ret == s.url) ? (s.url.match(/\?/) ? 
"&" : "?") +
"_=" + ts : "");
                }

It's in the definition for the "ajax" function.  When I set { cache:
false } in ajaxOptions, I get timestamps added to the end of my XHRs.
That makes sense.  However, I still don't know why timestamps are
added to jQuery & jQuery-UI.


> Are you loading a second copy of jquery-1.3.2.min.js in an Ajax request or
> something?

Nope.  I verified this with Firebug & Fiddler.


> A failed Ajax call wouldn't cause another copy of jQuery to be loaded,
> unless you somehow do that somewhere in your code.

I agree that this is the expected behavior.  I'm not ready to file a
report yet, but I can't rule out this being a bug in jQuery, jQuery-
UI, or jQuery-UI Tabs.

Reply via email to