Javascript Alfresco:如何从客户端js调用ShareWebScript并提取JSON数据
我想从客户端javascript调用一个共享webscript,它返回JSON数据 来自getTicket.json.ftl的响应如下所示: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( {
{
"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
}
});