我有一个公开REST网络服务的网络应用程序。 我想使用javascript \ jQuery(ajax)调用这些Web服务 基本上我想渲染REST服务返回的内容&执行CRUD openations(将调用外部Web应用程序的其他REST服务)
任何人都有一些指示,文章,示例代码,说明如何做到这一点?
由于
答案 0 :(得分:2)
如果我正确理解您的问题,那么在调用外部Web服务时没有Liferay特定的内容,因此您可以使用您在网络上找到的任何教程。当你提到你想要使用jquery时,我假设这些调用将来自浏览器 - 你需要在Liferay中做的唯一事情是确保加载jquery - 为此你可以使用你的主题:编辑portal-normal.vm
并包含加载jquery的行。或者,当Liferay附带AlloyUI / YUI时,您可以将jQuery作为AUI的模块加载,其模块为yQuery
答案 1 :(得分:2)
下面是一个示例代码,使用javascript \ jQuery在portlet中调用REST webservices(使用基本授权标头调用Portal服务):
<%@ include file="init.jsp"%>
$(document).on('ready',function(){
var username ="test@liferay.com";
var password ="test";
function make_base_auth(user, password) {
var tok = user + ':' + password;
var hash = btoa(tok);
return "Basic " + hash;
}
$.ajax({
url: 'http://localhost:8080/LiferayJSONWebservices-portlet/api/jsonws/employee/get-employee/employee-id/1',
dataType: "json",
type: "get",
success: function(data){
alert(data.employeeName);
},
beforeSend: function(xhr){ xhr.setRequestHeader('Authorization',make_base_auth(username, password));
},
complete: function(){
},
error: function(){
}
});
});
</script>