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() 函式有三個引數:
- 表示要呼叫服務的字串
- 一個引數物件
- 回撥函式
回撥函式將服務呼叫的結果作為引數。