从我的网格控制器中考虑以下代码示例:
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
,我无法检查数据。