-1

我刚刚升级到 jQuery 1.10.x,除了几个小的方法更改之外,一切都按计划进行,除了 Ajax:

function get_folders_hierarchy_manual (object_folders) {
    $.ajax({
        url: base_url + "path/" + object_folders.child,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        cache: false,
        success: function (element) {
            if (element!=null) {
                for (var i=0;i<element.length;i++) {
                    // Do things.
                }
            } else {
                // Do something else.
            }
        }
    });
}

以前,当数据源没有返回数据时,会触发“做其他事情”部分。但是,自从升级以来,这不再评估为空。

我什至尝试使用错误参数作为成功的辅助,但这也无济于事。

我已经对元素表达式设置了一个监视,并且它在查询之间没有被清空。老实说,我不知道它事先做了什么,因为我没有理由去看!

有任何想法吗?

为了清楚起见, element 是一个对象数组,它总是评估为真;有一个长度并包含对象。

4

2 回答 2

0

最后,它是删除条件和添加错误参数的组合:

function get_folders_hierarchy_manual (object_folders) {
    $.ajax({
        url: base_url + "path/" + object_folders.child,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        cache: false,
        success: function (element) {
            for (var i=0;i<element.length;i++) {
                // Do things.
            }
        },
        error: function () {
            // Do something else.
        }
    });
}
于 2013-06-25T20:05:46.967 回答
0

尝试数据真实化

 success: function (element) {
            if (element) {
                for (var i=0;i<element.length;i++) {
                    // Do things.
                }
            } else {
                // Do something else.
            }
        }
于 2013-06-25T19:32:14.267 回答