Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Object #<XMLHttpRequest> has no method 'done'

I was trying to implement simple ajax GET request . In the callback portion i want to call some function . The code is as below

$.ajax({
          url: "<?php echo SITE_URL?>ajax_pages/ajx_getcard.php?id="+obj.value,
          context: document.body
        }).done(function() { 
          $(this).addClass("done");
        });

But it is showing exception

Uncaught TypeError: Object # has no method 'done' replace_entry.php:105 getCardno replace_entry.php:105 onblur replace_entry.php:118

I am using google chrome

like image 896
hangman Avatar asked Sep 11 '12 06:09

hangman


Video Answer


1 Answers

You are probably using an old version of jQuery - new versions return a jqXHR object, that does have done.
You can quickly check your version by looking at the source, or typing $().jquery into your console.

If you cannot upgrade, the downgraded code should be:

$.ajax({
      url: "...",
      context: document.body,
      complete: function() { 
           $(this).addClass("done");
      });
like image 105
Kobi Avatar answered Sep 23 '22 00:09

Kobi