jQuery从不调用.done()或.always()来进行ajax调用

时间:2014-10-13 14:08:12

标签: javascript jquery ajax

我有这个简单的获取请求:

   $.get('ri/i18n/locale')
      .done(function() {
        console.log(this);
      })
      .fail(function() {
        console.log(this);
      })
      .always(function(){
        console.log(this);
      });

不幸的是,没有一个处理程序被调用过。

我可以确认在浏览器中调用ri/i18n/locale会返回一个有效的JSON字符串。我正在使用jQuery 1.11.1。

任何想法有什么不对?

2 个答案:

答案 0 :(得分:0)

您的问题可能是您正在使用的jQuery版本。在jQuery 1.5之前,jqXHR对象未返回$.get(),这使您可以使用promise行为。 The relevant jQuery documentation

答案 1 :(得分:0)

毕竟我只是错过了ajax调用的异步性质。我在所有console.log语句和ajax调用之后的语句中都有一个断点。由于ajax调用之后的语句被首先命中,我假设没有调用console.log语句。

由于我需要继续调用ajax的结果,我必须将所有代码移到done()函数中。