Liferay6.2:JSON Web Services Invocation Examples - JSON Web Services调用示例

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() 函数有三个参数:

  1. 表示要调用服务的字符串
  2. 一个参数对象
  3. 回调函数

回调函数将服务调用的结果作为参数。

猜你喜欢

转载自blog.csdn.net/sinat_37028632/article/details/84793495