【问题标题】:Abort searches on Alfresco中止在 Alfresco 上的搜索
【发布时间】:2014-04-02 13:43:21
【问题描述】:

我有一个定制的 Alfresco 社区安装。我有很多文档,因此执行某些搜索需要几秒钟是正常的。

我可以在我的网络检查器上看到由 Alfresco 触发的 AJAX 调用。

现在,如果我触发一个搜索,然后立即更改搜索词并触发另一个搜索,则有两个 AJAX 请求。有时我可以看到第二次搜索的结果正在呈现(因为它是一个更快的搜索),然后几秒钟后,第一次搜索的结果被呈现(最慢的一个)。

在执行新搜索之前要求 Alfresco 中止任何待处理搜索的优雅方法是什么?

【问题讨论】:

    标签: ajax search alfresco alfresco-share


    【解决方案1】:

    您必须扩展 Share 的搜索组件 (JavaScript) 并使用 YUI XHRDataSource + set connXhrMode:

    队列请求 如果请求已在进行中,请等到响应返回后再发送下一个请求。

    cancelStaleRequests 如果请求已在进行中,请在发送下一个请求之前将其取消。

    忽略StaleResponses 发送所有请求,但只处理最近发送的请求的响应。

    全部允许 发送所有请求并处理所有响应。

    http://yui.github.io/yui2/docs/yui_2.9.0_full/datasource/index.html#xhr

    【讨论】:

    • Interesting the Datasource 支持这一点。 Alfresco.util.Ajax 中的函数似乎没有公开类似的功能。
    【解决方案2】:

    我认为您的 GUI 存在问题,而不是 Alfresco 或任何其他后端系统。

    这是一种很好的通用架构,您可以在其中处理多个请求。

    如果只是渲染问题,则更改渲染请求的 JavaScript YUI 方法,并仅通过内置检查使旧的渲染请求无效。

    【讨论】:

    • 图形用户界面是标准图形用户界面。你只是告诉我做某事,我首先要求帮助如何做。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-23
    • 2015-09-01
    • 1970-01-01
    • 2020-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多