文章目录
JSON Web Services Invocation Examples - JSON Web Services调用示例
本教程提供了通过JavaScript,URL和cURL调用Liferay的JSON Web服务的示例。 每个调用方法都使用相同的两个示例(getting a user 和 adding a user),以便你可以了解它们之间的差异。 本教程还包括使用JavaScript从portlet调用Liferay的JSON Web服务的示例。
Loading AlloyUI - 加载AlloyUI
Liferay网页使用AlloyUI JavaScript框架。 为每个Liferay页面创建的JavaScript对象是Liferay对象。 该对象包括一个Servicefunction,可用于调用Liferay的API。 要通过Liferay.Service(…)调用Liferay Web service,你的JavaScript context必须包含AlloyUI JavaScript框架。 Liferay 6.2使用AlloyUI 2.0.x. 如果你正在使用JSP,则可以加载AlloyUI taglib并将JavaScript代码包装在<aui:script>标签中。 这是必需的导入代码:
<%@ taglib uri="http://alloy.liferay.com/tld/aui" prefix="aui" %>
要加载特定的AUI modules,请通过use属性指定它们。 (默认情况下,<aui:script>标记包含基本AUI module。)例如,要使用AUI node和eventmodule,请将代码包装为:
<aui:script use="node, event">
// Liferay service invocation here
</aui:script>
如果不在JSP中工作,则无法访问taglib。 在这种情况下,可以手动创建AUI context。 例如,使用以下HTML片段加载AUI seed(种子)和CSS文件:
<script src="http://cdn.alloyui.com/2.0.0/aui/aui-min.js"></script>
<link href="http://cdn.alloyui.com/2.0.0/aui-css/css/bootstrap.min.css" rel="stylesheet"></link>
然后你可以这样创建AUI context:
AUI().use('aui-base', function(A){
// Liferay service invocation here
});
现在你可以准备调用Liferay的JSON web service了。
Get User JSON Web Service Invocation via JavaScript - 通过JavaScript调用获取user的JSON Web Service
让我们在JavaScript中测试一个简单的JSON Web service 调用:
Liferay.Service(
'/user/get-user-by-email-address`,
{
companyId: Liferay.ThemeDisplay.getCompanyId(),
emailAddress: '[email protected]`
},
function(obj) {
console.log(obj);
}
);
如果运行此代码,则 [email protected]用户(JSON对象)将记录到JavaScript控制台。
Liferay.Service() 函数有三个参数:
- 表示要调用服务的字符串
- 一个参数对象
- 回调函数
回调函数将服务调用的结果作为参数。