Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Alfresco:如何从客户端js调用ShareWebScript并提取JSON数据_Javascript_Ajax_Json_Get_Alfresco Share - Fatal编程技术网

Javascript Alfresco:如何从客户端js调用ShareWebScript并提取JSON数据

Javascript Alfresco:如何从客户端js调用ShareWebScript并提取JSON数据,javascript,ajax,json,get,alfresco-share,Javascript,Ajax,Json,Get,Alfresco Share,我想从客户端javascript调用一个共享webscript,它返回JSON数据 来自getTicket.json.ftl的响应如下所示: { "ticket" : "TICKET_faf851d4a993b62c98908268af07876f09fa86c9" } 那么,如何从客户端javascript调用这个共享webscript并提取“ticket”的值呢 答复: Alfresco.util.Ajax.jsonGet( {

我想从客户端javascript调用一个共享webscript,它返回JSON数据

来自getTicket.json.ftl的响应如下所示:

{
   "ticket" : "TICKET_faf851d4a993b62c98908268af07876f09fa86c9"
}
那么,如何从客户端javascript调用这个共享webscript并提取“ticket”的值呢

答复:

Alfresco.util.Ajax.jsonGet(
                    {
                        url: Alfresco.constants.PROXY_URI + "/auth/getTicket.json",
                        successCallback:
                        {
                            fn: function(response)
                            {
                                try {
                                    var json = JSON.parse(response.serverResponse.responseText);
                                    var ticket = json["ticket"];
                                    if (ticket.substring(0, 6) == "TICKET") {
                                        clipboardData.setData("Text", ticket + "&" + file.nodeRef);
                                        location.href = Alfresco.constants.URL_RESCONTEXT + "components/javawebstart/AEF_JNLP.jnlp";
                                    } else {
                                        // handle unknown format
                                    }
                                } catch (e) {
                                    // handle error
                                }

                            },
                            scope: this
                        },

                        failureCallback:
                        {
                            fn: function(response)
                            {
                                // handle failure case
                            },
                            scope: this
                        }
                    });

这称为共享层webscript。因此,您还需要一个共享层webscript,它调用一个存储库web脚本,该脚本返回实际的票证…

您使用的是什么版本的alfresco?我无法在所有webscripts4.2.2的服务索引中找到此webscript的uri,但我自己已经找到了,谢谢:)
Alfresco.util.Ajax.jsonGet(
                    {
                        url: Alfresco.constants.PROXY_URI + "/auth/getTicket.json",
                        successCallback:
                        {
                            fn: function(response)
                            {
                                try {
                                    var json = JSON.parse(response.serverResponse.responseText);
                                    var ticket = json["ticket"];
                                    if (ticket.substring(0, 6) == "TICKET") {
                                        clipboardData.setData("Text", ticket + "&" + file.nodeRef);
                                        location.href = Alfresco.constants.URL_RESCONTEXT + "components/javawebstart/AEF_JNLP.jnlp";
                                    } else {
                                        // handle unknown format
                                    }
                                } catch (e) {
                                    // handle error
                                }

                            },
                            scope: this
                        },

                        failureCallback:
                        {
                            fn: function(response)
                            {
                                // handle failure case
                            },
                            scope: this
                        }
                    });