Javascript jQuery从不为ajax调用调用.done()或.always()
我有一个简单的get请求: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('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。