在5.X板就已經有了這個好用的功能,在Liferay service.xml裡定義的remote-service,幾乎都會被轉為JSON提供使用。
在5.X版以後的使用法如下;
可以使用普通的html標籤來引用service.js;
<script src="/html/js/liferay/service.js" language="JavaScript"> </script>
or for the extension environment:
<script src="/html/js/liferay/ext_service.js" language="JavaScript"> </script>
當js檔可使用後,便可以用下面的方式來呼叫Liferay為我們產生的JSON方法;
Liferay.Service.NAMESPACE.ENTITY.METHOD( { PARAMETER_1: VALUE_1, PARAMETER_2: VALUE_2 }, function(message) { var exception = message.exception; if (!exception) { // Process Success } else { // Process Exception } }
十分好用,在6.2版中有稍微做了變動,一般來說在本機輸入以下網址:http://localhost:8080/api/jsonws
就可以查詢到目前所定義的JSON SERVICE方法。
呼叫的方式也有點不大一樣;
Liferay.Service(
'entity/method',
{ PARAMETER_1: VALUE_1, PARAMETER_2: VALUE_2 }, function(message) { var exception = message.exception; if (!exception) { // Process Success } else { // Process Exception } }
6.2版把JSON方法做成像這樣:/TSMC-Forum-portlet.forummessage/update-answer
所以要用以上字串才能夠呼叫到正確的方法。
參考資料:
https://www.liferay.com/community/wiki/-/wiki/Main/JSON+Service+API#section-JSON+Service+API-How+to+generate+the+JSON+API
https://www.liferay.com/documentation/liferay-portal/6.2/development/-/ai/json-web-services-liferay-portal-6-2-dev-guide-05-en
全站熱搜