jquery中的异步请求(Get)

时间:2012-08-15 08:25:01

标签: javascript jquery

我尝试获取树结构,因此我使用树控件。 但我想先得到根级别的项目,然后点击其中一个后我想得到它的孩子。

所以我使用带有以下代码的Get请求:

$(function() {
    $('#tt').tree({
        onBeforeExpand: function(node) {
            var count = getChildren(node);
            if (count == 0) {
                var hospitalId = node.id;

                $.getJSON('@Url.Action("LoadDepartments")', {
                    hospitalId: hospitalId
                }, function(result) {

                    if (result != null) {
                        $('#tt').tree('append', {
                            parent: node.target,
                            data: result

                        });
                    }
                });
            }
        }
    });
});​

在此函数中,我获取所选父节点的数据并将它们附加到树结构。我希望在点击父节点后看到这个子元素并展开它。但我只是在关闭之后才看到子元素,而不是再次扩展它。但是,如果我使用调试并逐步执行,我会立即看到结果。

也许我应该使用延迟?

1 个答案:

答案 0 :(得分:0)

也许您应该将onBeforeExpand更改为onExpand?确保data确实已加载并在扩展后注入

来自文档:

  

onExpand:扩展节点时触发。

如果您提供指向您正在使用的jQuery插件的链接,也会有所帮助。