考虑我的网格控制器中的以下代码示例:
loadData: function (filter) {
var data = $.Deferred(); // This line is hit.
var rsp = null;
$.ajax({
type: 'GET',
contentType: 'application/json: charset=utf-8',
url: loadRoute,
data: filter,
dataType: 'JSON'
}).done(function (response)
{
// This function is never invoked.
debugger;
rsp = response;
data.resolve(response);
});
return data.promise();
},
当我调试这段代码时,在第一行设置的断点loadData
被成功命中;但是,debugger
里面的语句done
永远不会被击中。我看不出任何明显的原因。
谁能看到我在这里做错了什么?
据我所知,这个方法必须返回一个承诺,我正在这样做。此外,我必须解析从 AJAX 调用返回的数据以解压它,我也在这样做(前提是我可以点击done
)。
FWIW,服务器端代码被调用(loadUrl
)并返回没有错误。但是因为我无法进入done
,我无法检查数据。