【问题标题】:CKAN "autocomplete.js" module is not working ( CKAN version 2.8)CKAN“autocomplete.js”模块不工作(CKAN 2.8 版)
【发布时间】:2019-09-04 10:34:40
【问题描述】:

我安装了 CKAN 2.8 版本,我正在尝试使用内置 CKAN javascript 模块名称“autocomplete.js”从https://terminologies.gfbio.org/api/ 获取关键字/术语。[https://github.com/ckan/ckan/blob/master/ckan/public/base/javascript/modules/autocomplete.js#L76]

但我已经提供了指向“data-module-source = https://terminologies.gfbio.org/api/terminologies/search?query=Acetobacter%20aceti”的端点链接 没有回应.... 我在 CKAN 的前端 HTML 代码 >>

<input name="search" data-module="autocomplete" data-module- 
source="https://terminologies.gfbio.org/api/terminologies/search? 
query=Acetobacter%20aceti" />

但是没有从 CKAN 站点生成到远程端点的 API 调用,即“https://terminologies.gfbio.org/api”,代码如下。

<input name="search" data-module="autocomplete" data-module- 
source="https://terminologies.gfbio.org/api/terminologies/search? 
query=Acetobacter%20aceti" />

【问题讨论】:

    标签: javascript python ajax api ckan


    【解决方案1】:

    自动完成模块位于 ckan/javascript 模块中,因此设计为在客户端运行。即浏览器上的输入表单应该调用 API。

    所以您可能看不到从您的 ckan 服务器到 API 的调用。但是您可能会在浏览器的网络输出中看到它。

    其次,您需要生成一个适当的 API 调用,该调用接受一个不完整的字符串并返回一个匹配列表。

    例如标准标签搜索调用(在输入 java 之后)http://ckan:5000/api/2/util/tag/autocomplete?incomplete=ora 可能会回来 {"ResultSet": {"Result": [{id: "orange", text: "orange"}]

    因此,您将需要远程 API 以可显示的类似字符串数组的形式返回。

    可能有一些方法可以覆盖插件,以便在客户端解析和重组 API 结果 - 如果你找到它们,请告诉我:)。否则,您可能需要一个服务器端微服务来接收部分请求,调用 gfbio api 并重塑结果。

    【讨论】:

      猜你喜欢
      • 2011-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多