对象#<xmlhttprequest>没有方法'done'</xmlhttprequest>

时间:2012-09-11 06:03:31

标签: javascript jquery ajax

我试图实现简单的ajax GET请求。在回调部分我想调用一些函数。代码如下

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

但它显示异常

未捕获的TypeError:对象#没有方法'done'replace_entry.php:105 getCardno replace_entry.php:105 onblur replace_entry.php:118

我正在使用谷歌浏览器

2 个答案:

答案 0 :(得分:17)

您可能正在使用旧版本的jQuery - 新版本会返回一个jqXHR对象,该对象确实有done
您可以通过查看来源或在控制台中键入$().jquery来快速检查您的版本。

如果无法升级,则降级后的代码应为:

$.ajax({
      url: "...",
      context: document.body,
      complete: function() { 
           $(this).addClass("done");
      });

答案 1 :(得分:0)

将成功替换为成功.. ??

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