Right. Removing all the unecessary did helped as you pointed out. Anyways, I think there's a fix which resolves this issue permanently. I added a patch in attachment. Problem was due to the fact that I never specified that "xhr" option in my $.ajaxSettings and made the s.xhr object to return a false value. Since I'm rather lazy and prefer not specifying a custom xhr option, I took the old default xhr transport from jQuery 1.2.6 and tried to use that as a fallback method.
demo page: http://gthc.org/tm_api-2.0/demo.html Thanks for your help! Etienne James wrote: > It's most likely the other code in your script that's causing it. > Try removing all of your scripts on you page except for the jQuery > library and the jQuery UI library. There should be no errors. (If > there is, then something is wrong with the libraries you have.) > Then one by one add the other scripts in and check whether there are > errors. This will closer pinpoint the cause of the issue. > > On Jun 23, 4:35 am, Etienne Robillard <robillard.etie...@gmail.com> > wrote: >> I retried and it's still grokking loudly: >> >> http://gthc.org/tm_api-2.0/demo.html >> >> the most irritating part is: >> >> "[e] message = [string] "s.xhr is not a function" >> Exception ``TypeError: s.xhr is not a function'' thrown from function >> anonymous(event=Object:{38}) in >> <http://gthc.org/media/js/jquery-ui-1.7.2-custom/development-bundle/jq...> >> line 2693. >> >> How is that happening ? Does it need any extra options in $.ajaxSettings >> for making it compatible with 1.3.X ? >> >> My $.ajaxSettings looks like this, at least in the 1.2.6 >> series:http://gthc.org/tm_api-2.0/src/ajax.js >> >> I have find no use yet for the 'xhr' param, is this now required in >> jquery 1.3.X ? >> >> Best regards, >> Etienne >> >> >> >> Etienne Robillard wrote: >>> Thanks! >>> I'll upgrade to jQuery UI 1.7+ and retry.. :D >>> Best regards, >>> Etienne >>> Cesar Sanz wrote: >>>> I had the problem too.. >>>> You must to update jquery and ui too >>>> ----- Original Message ----- >>>> From: "James" <james.gp....@gmail.com> >>>> To: "jQuery (English)" <jquery-en@googlegroups.com> >>>> Sent: Monday, June 22, 2009 12:18 PM >>>> Subject: [jQuery] Re: jquery-ui dialog and ajax issues updating from 1.2.6 >>>> to 1.3.2 >>>> When you update jQuery to 1.3+ from an older version, you also have to >>>> update your UI library to 1.7+ because jQuery 1.3+ is not compatible >>>> with older versions of jQuery UI. >>>> On Jun 22, 5:25 am, Etienne Robillard <robillard.etie...@gmail.com> >>>> wrote: >>>>> Hi, >>>>> I'm using jquery-ui 1.6 custom build with jquery 1.2.6 trying to >>>>> set up a dialog window. Unfortunately I can't update to 1.3.2 since this >>>>> would trigger some unexpected XHR-related bugs like the following: >>>>> Exception ``TypeError: M.xhr is not a function'' thrown from function >>>>> anonymous(M=Object:{12}) in >>>>> <http://localhost/media/js/jquery/jquery-1.3.2.min.js> >>>>> So I'm sticking with the 1.2.6 build, which works fine despite a >>>>> minor/not-critical XHR issue: >>>>> Exception ``TypeError: s.accepts is undefined'' thrown from function >>>>> anonymous(s=Object:{12}) in >>>>> <http://localhost/media/js/jquery/jquery-1.2.6.pack.js> >>>>> Notice that this error is reported in FireBug/Venkman, however Firefox >>>>> doesn't seem to care and let the XMLHTTPRequest to execute successfully. >>>>> The code for the dialog window is given below. I don't seem to >>>>> understand why posted data cannot be shown on the dialog box twice. >>>>> Moreover, it will display it as I want on the first $.post request but >>>>> any additional requests triggered with a click event don't show any >>>>> updated data on the dialog box. Venkman reports that the anonymous >>>>> callback function manages to obtain the updated data, but still nothing >>>>> get shown on the dialog, just an empty div... ;-) >>>>> Any help or advices for debugging this issue? >>>>> Best regards, >>>>> Etienne >>>>> This is the script that gets evaluated by jQuery (using $.get(...)). A >>>>> json object is returned by the server either containing form validation >>>>> errors or a result object that contains simple strings. >>>>> <script type="text/javascript"> >>>>> $(function(){ >>>>> $('#'+'formControlBtn').bind('click', function(){ >>>>> //send the form with a ajax request. on success, >>>>> //return a "comment" preview. >>>>> var formData = $('#'+'commentform').serialize(); >>>>> //one-liner to remove old error messages before posting a new comment >>>>> $('p.error').each(function(){$(this).remove()}); >>>>> $.post('comment', formData, function(json) { >>>>> var result = json.errordict || json.comment; >>>>> if (result == json.comment) { >>>>> // Look for the comment preview.. >>>>> // Display a pop-up window (dialog) with the comment preview >>>>> // in HTML. By clicking on "OK" or "Save" the user has no more >>>>> // undo chances and the comment will be made. >>>>> var commentHTMLDialog = $('<div id="commentDialog" >>>>> class="ui-dialog ui-widget ui-content"><\/div>'); >>>>> // Set a title >>>>> $(commentHTMLDialog).attr('title', 'Preview comment'); >>>>> // Setup default dialog constructor options >>>>> $(commentHTMLDialog).dialog({ >>>>> autoOpen: true, >>>>> bgiframe: false, // must keep this for IE6? default = >>>>> 'dont care' >>>>> width: 500, >>>>> modal: true, // prevent reposting while the dialog >>>>> is enabled >>>>> dialogClass: 'generic', >>>>> height: 400, >>>>> overlay: { >>>>> backgroundColor: '#000', >>>>> opacity: 0.5 >>>>> }, >>>>> buttons: { >>>>> "It's all good, add my comment please." : function() { >>>>> $(this).dialog('close'); >>>>> }, >>>>> Cancel: function() { >>>>> $(this).dialog('close'); >>>>> } >>>>> }, >>>>> open: function() { >>>>> // Constructor to define what to do when opening >>>>> // the dialog widget >>>>> var commentHTMLBody = $("<ul >>>>> id='commentHTMLBody'></ul>"); >>>>> $(commentHTMLBody).prependTo($(commentHTMLDialog)); >>>>> for (var x in result) { >>>>> // create the "template" on the fly >>>>> $('<li>'+x+': >>>>> '+result[x]+'<\/li>').appendTo('#'+'commentHTMLBody'); >>>>> }; >>>>> } //open >>>>> }); >>>>> $(commentHTMLDialog).dialog('open'); >>>>> return false; >>>>> //$('#'+'commentForm').html('Thanks for your input!'); >>>>> } else { >>>>> // found some validation errors >>>>> for (var x in result) { >>>>> $('<p class="error">'+'<b>'+x+': >>>>> <\/b>'+result[x]+'<\/p>').appendTo('#'+'commentForm'); >>>>> }; >>>>> }; >>>>> }, "json"); >>>>> return false; >>>>> });}); >>>>> </script> >>>>> -- >>>>> Etienne Robillard <robillard.etie...@gmail.com> >>>>> Green Tea Hackers Club <http://gthc.org/> >>>>> Blog: <http://gthc.org/blog/> >>>>> PGP Fingerprint: AED6 B33B B41D 5F4F A92A 2B71 874C FB27 F3A9 BDCC >> -- >> Etienne Robillard <robillard.etie...@gmail.com> >> Green Tea Hackers Club <http://gthc.org/> >> Blog: <http://gthc.org/blog/> >> PGP Fingerprint: AED6 B33B B41D 5F4F A92A 2B71 874C FB27 F3A9 BDCC > -- Etienne Robillard <robillard.etie...@gmail.com> Green Tea Hackers Club <http://gthc.org/> Blog: <http://gthc.org/blog/> PGP Fingerprint: AED6 B33B B41D 5F4F A92A 2B71 874C FB27 F3A9 BDCC
--- /home/steiner/ncvs/jqueryui-svn/jquery-1.3.2.js 2009-06-22 21:06:02.000000000 -0400 +++ jquery-1.3.2.js 2009-06-24 15:09:33.000000000 -0400 @@ -3507,7 +3507,12 @@ var requestDone = false; // Create the request object - var xhr = s.xhr(); + if (s.xhr) { + var xhr = s.xhr(); + } else { + // fallback on default xhr transport + var xhr = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest(); + } // Open the socket // Passing null username, generates a login popup on Opera (#2865)