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)

Reply via email to