我想从客户端javascript调用一个返回JSON数据的share-webscript。
getTicket.json.ftl的响应如下:
{
"ticket" : "TICKET_faf851d4a993b62c98908268af07876f09fa86c9"
}
那么我如何从客户端javascript调用这个share-webscript并提取"ticket"的值呢?
see answer below
答案:
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。所以你还需要一个共享层web脚本,它调用一个仓库web脚本,返回实际的票证。