如何将工作区url作为参数传递到alfresco share中的存储库?

如何将工作区url作为参数传递到alfresco share中的存储库?,alfresco,alfresco-share,Alfresco,Alfresco Share,我试图将nodeRef的字符串表示形式作为参数传递给存储库,如下所示:url:Alfresco.constants.PROXY_URI+“synapture/commande/commande get/”+new Alfresco.util.nodeRef(commandeObj.commandeNodeRef) 但是,当我查看调试器并在存储库侧输出url.templateArgs.时,工作区剥离后的第一个“/”。输入auf Alfresco.util.NodeRef应该是NodeRef格式的字

我试图将nodeRef的字符串表示形式作为参数传递给存储库,如下所示:
url:Alfresco.constants.PROXY_URI+“synapture/commande/commande get/”+new Alfresco.util.nodeRef(commandeObj.commandeNodeRef)


但是,当我查看调试器并在存储库侧输出url.templateArgs.时,工作区剥离后的第一个“/”。

输入auf Alfresco.util.NodeRef应该是NodeRef格式的字符串,例如workspaces://SpacesStore/02f.... 返回值是一个JS对象,其中包含一个属性“uri” 因此,如果commandeObj.commandeNodeRef是一个NodeRef格式的字符串,那么下面的代码将执行此任务(添加“.uri”以获取uri格式的NodeRef):

您的后端Webscript(*desc.xml)应定义如下(顺便说一句,这不是一个好的RESTful URL;-):

在后端Webscript中:

 var storeType = url.templateArgs.store_type,
 storeId = url.templateArgs.store_id,
 id = url.templateArgs.id,
 nodeRef = storeType + "://" + storeId + "/" + id,
 node = utils.getNodeFromString(nodeRef);
如果查看actions.js(web客户端JavaScript文件),您将看到以下内容:

var jsNode = record.jsNode,
            nodeRef = jsNode.isLink ? jsNode.linkedNode.nodeRef : jsNode.nodeRef,
strNodeRef = nodeRef.toString()........
该url随后将用于以下操作: documentDetailsUrl:fnPageURL(“文档详细信息?nodeRef=“+strNodeRef”),

对象recordd.jsNode在别处定义:

record.jsNode = new Alfresco.util.Node(response.json.item.node);
因此,在您的案例中,您可能可以执行以下操作: 1.只需将toString()添加到新创建的Alfresco.Util.NodeRef对象中。
2.如果这不起作用,创建一个Alfresco.util.Node并执行一个toString()

你能给出Alfresco.util.NodeRef(commandeObj.commandeNodeRef)和just commandeObj.commandeNodeRef的结果吗?在浏览器javascript调试器中检查它们都很好
var jsNode = record.jsNode,
            nodeRef = jsNode.isLink ? jsNode.linkedNode.nodeRef : jsNode.nodeRef,
strNodeRef = nodeRef.toString()........
record.jsNode = new Alfresco.util.Node(response.json.item.node);