Javascript jQuery从不为ajax调用调用.done()或.always()

Javascript jQuery从不为ajax调用调用.done()或.always(),javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个简单的get请求: $.get('ri/i18n/locale') .done(function() { console.log(this); }) .fail(function() { console.log(this); }) .always(function(){ console.log(this); }); 不幸的是,没有一个处理程序被调用 我无法确认在

我有一个简单的get请求:

   $.get('ri/i18n/locale')
      .done(function() {
        console.log(this);
      })
      .fail(function() {
        console.log(this);
      })
      .always(function(){
        console.log(this);
      });
不幸的是,没有一个处理程序被调用

我无法确认在浏览器中调用
ri/i18n/locale
会返回有效的JSON字符串。我正在使用jquery1.11.1


有什么问题吗?

您的问题可能是您使用的jQuery版本。在jQuery 1.5之前,
jqXHR
对象没有返回
$.get()
,这就是允许您使用承诺行为的原因

毕竟,我错过了ajax调用的异步特性。我在所有
console.log
语句和ajax调用后的语句上都有一个断点。由于ajax调用后的语句首先被调用,所以我假设没有调用任何
console.log
语句


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

您看过web inspector/firebug吗?脚本中的请求可能有问题。它正在工作。在这里签出可能是页面上的语法错误,它永远不会进入AJAX。