У меня проблема с моим портлетом, и я не знаю точно, как ее решить.Мой портлет добавляет или получает информацию из БД liferay, вставляя имя в 2 текстовых поля.После нажатия кнопки отправки, я вижу ответ от сервера, ответ JSON, подобный этому:
{"id":301,"name":"Pepo"}
Если пользователь правильно вставил или если поиск выдает хороший результат.Я должен вернуться в браузер, чтобы снова увидеть портал.
Как я могу использовать AJAX для динамической передачи следующего URL-адреса из портлета на сервер без последующего обновления страницы?
http://localhost:8080/c/portal/json_service?serviceClassName=com.liferay.test.service.TrabajadorServiceUtil&serviceMethodName=findByName&servletContextName=TrabajadorPlugin-portlet&serviceParameters=[param1]¶m1=NameInsertedByUser
Теперь я использую тег <form>
следующим образом:
<%
//Shows "New Employee" in the text field when portlet is rendered, or gets the user input and pass it as a param to the URL
PortletPreferences prefs = renderRequest.getPreferences();
String employee = (String)prefs.getValue("name", "New Employee");
%>
<form id="postForm" method="post" action="http://localhost:8080/c/portal/json_service">
<input name="serviceClassName" type="hidden" value="com.liferay.test.service.TrabajadorServiceUtil" />
<input name="serviceMethodName" type="hidden" value="create" />
<input name="servletContextName" type="hidden" value="TrabajadorPlugin-portlet" />
<input name="serviceParameters" type="hidden" value="[param]" />
<input name="param" type="text" value="<%=employee%>" />
<input type="submit" value="Submit"/>
</form>
Я понимаю, как работает AJAX, но мне нужно немногопомогите создать мою функцию, чтобы URL-адрес был правильно отправлен на сервер для запросов GET
и POST
.Это моя первая попытка использования AJAX.
Большое спасибо, надеюсь, что кто-нибудь поймет мою проблему и сможет мне помочь.