如何在JavaScript文件中获取Alfresco webscript JSON响应

时间:2017-07-26 09:23:16

标签: javascript ajax alfresco alfresco-share alfresco-webscripts

我正在研究alfresco maven sdk项目。

所以我有一个repo webscript,它返回一个json响应模板,其中包含特定文件夹中包含的文件列表(在我的例子中是Espace%20racine/Dictionnaire%20de%20données/Dossier%20Workflow)。

模板response.json.ftl在这里:

{ 
  "Files" : [
    <#list folder.children as child>
    <#if child.isDocument>
    {
        "name" : "${child.name}"
    }
    <#if child_has_next>,</#if>
    </#if>
  </#list>
  ]
}

我的webscript工作正常,当我通过命令行或浏览器运行时,我收到如下响应:

    { 
"Files" : [
        {
        "name" : "test"
    }
    ,
    {
        "name" : "test2"
    }
    ,
    {
        "name" : "test3"
    }

  ]
}

现在,我想从位于共享文件夹web的javascript文件中调用我的webscript,但我不知道如何实现这一点。我在网上搜索,但我没有找到一个一致的例子来管理这个。

如果有人能告诉我实现这个目标的方法,或者让我举一个如何实现这一点的例子,那对我有帮助。

1 个答案:

答案 0 :(得分:0)

下面是在alfresco share中进行ajax调用的代码。还有其他方法,如Alfresco.util.Ajax.jsonPost,Alfresco.util.Ajax.jsonPut等。在下面的console.log(response.json)中)将在控制台中打印响应。

 var fnSuccess = function RESPONSE_functionName(response)
     {
        console.log(response.json)//Here you will get response json.
     };
     var fnFailure = function RESPONSE_functionName(response)
     {
        Alfresco.util.PopupManager.displayMessage({text:"Failure"});
     };
    Alfresco.util.Ajax.jsonGet(
     {
        url: Alfresco.constants.PROXY_URI + "REPOSITORY_WEBSCRIPT_URL",
        successCallback:
        {
           fn: fnSuccess,
           scope: this
        },
        failureCallback:
        {
           fn: fnFailure,
           scope: this
        }
     });