Ajax 从操作方法liferay发送响应

Ajax 从操作方法liferay发送响应,ajax,servlets,liferay,alloy-ui,liferay-aui,Ajax,Servlets,Liferay,Alloy Ui,Liferay Aui,我在jsp中有一个actionURL,从中调用java文件中名为“updateDB”的方法。 每当我使用A.io.request通过AJAX请求提交表单时,就会调用java代码中的udpateDB函数,其中我正在执行一些数据库CRUD操作 我想知道如何将一些值(数据库插入的成功/失败状态)从java代码发送回jsp,并发送到A.io.request ajax调用的成功回调 您可以在下面找到我的Ajax请求: Liferay.provide(window,‘submitForm’, functio

我在jsp中有一个actionURL,从中调用java文件中名为“updateDB”的方法。 每当我使用A.io.request通过AJAX请求提交表单时,就会调用java代码中的udpateDB函数,其中我正在执行一些数据库CRUD操作

我想知道如何将一些值(数据库插入的成功/失败状态)从java代码发送回jsp,并发送到A.io.request ajax调用的成功回调

您可以在下面找到我的Ajax请求:

Liferay.provide(window,‘submitForm’,
function() {
var A = AUI();
A.io.request(‘${”formsubmissionURL”}’,{
method: ‘POST’,
form: { id: ‘<portlet:namespace />fm’ },
on: {
success: function(){
alert(form submitted”);

// I WANT DATABASE SUCCESS OR FAILURE STATUS HERE FROM JAVA CODE
     }
   }
  });
});
Liferay.provide(窗口,'submitForm',
函数(){
var A=AUI();
A.io.request(“${”formsubmissionURL“}”{
方法:“POST”,
表格:{id:'fm'},
关于:{
成功:函数(){
警报(提交的表格);
//我想从JAVA代码中获取数据库成功或失败状态
}
}
});
});

谢谢

您可以通过将数据写入resourceResponse来传递数据值

response.getWriter().write(String/int/char[])

这里,响应可以是servletResponse或portletResponse(resourceResponse)

您可以像这样使用javascript获取数据

this.get('responseData')
内部成功方法

编辑: 当您通过ajax调用调用action方法时,下面的代码可能会有所帮助

portal.getHttpServletResponse(actionResponse)


从上面的代码中获取httpServletResponse,然后可以使用
response.getWriter()。write
方法。

Hi。谢谢但是我在java中调用我的action方法。我可以在那个动作方法中使用resourceResponse吗?我相信resourceResponse可以在ServerResource方法中使用。请纠正我,如果我的答案是错误的,你可以使用任何类型的回应。嗨,潘卡吉。再次感谢。liferay操作方法将(ActionRequest ActionRequest、ActionResponse ActionResponse)作为参数。它没有提供任何方法来获取writer并将我的字符串/数组写入jspThanks,我使用ajaxpost将其更改为resourceurl