Javascript Extjs树面板加载器ajax调用

Javascript Extjs树面板加载器ajax调用,javascript,ajax,extjs,Javascript,Ajax,Extjs,我有一个带装载机的树面板。我还有一个文本字段,在每次击键后(带缓冲区)都会重新加载加载程序 如果上次重新加载时是这种情况,我想取消当前的重新加载并重新加载一个新的。我目前有中止工作,但它可以防止从那里重新加载 // abort the previous call. Works, but then cant reload thisTree.loader.abort(); // This works without the abort thisTree.loader.baseParams.qui

我有一个带装载机的树面板。我还有一个文本字段,在每次击键后(带缓冲区)都会重新加载加载程序

如果上次重新加载时是这种情况,我想取消当前的重新加载并重新加载一个新的。我目前有中止工作,但它可以防止从那里重新加载

// abort the previous call. Works, but then cant reload
thisTree.loader.abort(); 

// This works without the abort
thisTree.loader.baseParams.quicksearch_string = val;
thisTree.root.reload();.
希望我错过了一些基本的东西,但我似乎无法找出它

abort : function(){
    if(this.isLoading()){
        Ext.Ajax.abort(this.transId);
    }
},
它看起来像是用请求的特定事务ID调用abort,所以在我看来这里似乎没有任何异步问题。但是,您可以通过在中止和重载调用之间放置警报来测试这一点,以确保在重载函数创建新事务ID之前中止完全完成

然而,我有点惊讶于:

thisTree.root.reload();
在没有中止的情况下工作。您的根节点是什么类型的节点?Ext.tree.AsyncTreeNode?我看到的更常见的方法是:

tree.getLoader().load(tree.root);
正如我所看到的,节点并不总是有重载方法


不过,还需要更多的信息。中止并调用重载时会发生什么情况?Firebug没有显示任何ajax请求?

谢谢您的回答。我试试你重新装填的方法。是的,节点是一个AsyncTreeNode。Firebug显示调用。在没有中止的情况下,当调用reload时,将显示ajax调用。但是,在完成之前,不能再做一个