0

考虑我的网格控制器中的以下代码示例:

    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,我无法检查数据。

4

0 回答 0