0

我正在处理alfresco maven sdk项目。如何在JavaScript文件中获得Alfresco webscript JSON响应

因此,我有一个回购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工作正常,当我通过COMMANDE线或浏览器中运行它,我得到这样的回应:

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

    ] 
} 

现在,我想从一个JavaScript文件驻留在共享文件夹Web中调用我的web脚本,但我不知道如何实现此目的。我在网上搜索,但我没有找到一个一致的例子来管理这个。

如果有人能告诉我实现这个目标的方法,或者以我为榜样来实现这个目标,这将会帮助我很多。

回答

0

下面是在alfresco share中进行ajax调用的代码。还有其他一些方法也可用,如Alfresco.util.Ajax.jsonPost,Alfresco.util.Ajax.jsonPut等。在console.log(响应。 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 
     } 
    }); 
+0

好,它工作正常。 – nmalloul