Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript extjs4奇怪的树加载行为_Javascript_Extjs_Extjs4.1 - Fatal编程技术网

Javascript extjs4奇怪的树加载行为

Javascript extjs4奇怪的树加载行为,javascript,extjs,extjs4.1,Javascript,Extjs,Extjs4.1,我有一个使用ajax存储的树面板。 当服务器获取节点的结果时,通常不是即时的(需要几秒钟) 我有另一个网格控件,它重新加载根节点(取决于不同的参数) 在前一个请求完成之前发送请求时,这可能会导致奇怪的行为: 用户在网格上选择某些内容,这会导致树发送请求 在前一个请求完成之前,用户会更改某些内容,从而导致发送新请求 在两个请求完成后扩展节点时,树开始出现问题 在重新加载树之前,是否有方法中止树存储发送的所有挂起请求 提前感谢您的帮助! 阿米泰 p.S-extjsversion4.1.1向树存储添加

我有一个使用ajax存储的树面板。 当服务器获取节点的结果时,通常不是即时的(需要几秒钟)

我有另一个网格控件,它重新加载根节点(取决于不同的参数)

在前一个请求完成之前发送请求时,这可能会导致奇怪的行为:

  • 用户在网格上选择某些内容,这会导致树发送请求
  • 在前一个请求完成之前,用户会更改某些内容,从而导致发送新请求
  • 在两个请求完成后扩展节点时,树开始出现问题
  • 在重新加载树之前,是否有方法中止树存储发送的所有挂起请求

    提前感谢您的帮助! 阿米泰


    p.S-extjsversion4.1.1向树存储添加数据是一项棘手的工作。该框架在每次将数据加载或加载到树存储中时都会做很多事情来保持一致。例如,尝试将记录添加到树存储中,该存储已存在于其他位置的树中。如果记录的ID是持久的(意思是从服务器设置的),那么所有检查都会失效。这是因为树木商店有复杂的机械,可能不适合所有的使用情况

    因此,难怪如果两个相互竞争的请求试图将数据加载到树存储中,那么事情将无法正常工作。 可以做些什么

  • 装面具。展开树枝时,加载掩码应覆盖该树以隐藏任何其他控件。这有助于避免并发数据操作。在4.1.1中,这实际上适用于OOTB(之前已被破坏)

  • 如果允许外部控件影响树,请查看“加载”属性。检查装载应防止其他操作继续进行。如果需要,在数据连接上有一个“中止”方法来取消挂起的请求

  • 最后看一下数据连接上的autoAbort属性:这将杀死所有其他挂起的请求,这可能是您正在寻找的


  • 因此,当服务器请求之前的数据时,可能会使用不同的数据重新加载树的内容。这就是你想要阻止的吗?您能解释一下为什么要重新加载根节点吗?这实际上是一个树网格(不是简单的树)。我将其用于我的应用程序中的仪表板,其中显示了各种指标。由于该树,用户可以深入查看数据的细节。当用户选择要显示的度量时,应重新加载树以反映用户的选择。当用户选择某个内容,并在上次加载完成之前更改其选择时,就会出现此问题。您好,Dmitry,谢谢您的回复。1.这将起作用-但我不想限制用户。我宁愿中止树发送的所有请求。我找不到跟踪这些请求的方法。2.是的,我想使用'abort'方法-但是,我找不到访问我试图中止的请求的方法!有什么建议吗?3.这会杀死所有的请求,不是吗?(不仅仅是那些与树店相关的人)再次感谢你的帮助,阿米泰。