Я хочу вызвать веб-поток с помощью AJAX / отправки формы, но я не могу этого сделать.
В ответ на мой AJAX-вызов на контроллер я получаю список пользовательских объектов. Я должен передать этот список объектов в другой HTML через AJAX, где я могу получить доступ к этому списку объектов и перебрать его, чтобы отобразить на интерфейсе в виде таблицы. Эта таблица будет иметь 2 столбца: один с именем, а второй с датой. В столбце «Имя» я должен отобразить имя в виде тега привязки со встроенным URL-адресом. Как только пользователь нажимает на эту гиперссылку, он / она перенаправляет на контроллер и дальнейшие действия.
ПРИМЕЧАНИЕ. Я не могу использовать никакие кнопки / ссылки на своей странице.
Причина, по которой я вызвал контроллер, используя Ajax, а не инициируя событие, заключается в том, что мне нужно сделать вызов CORS, и это возможно только с помощью вызова из браузера, а не вызова на стороне сервера из-за проблем безопасности, и ниже приведен общий поток для более глубокого понимания:
1. Сделайте AJAX-вызов в другой домен и получите данные.
2. При успешном ответе передайте эти данные контроллеру без веб-потока с запросом сопоставления. Этот контроллер возвращает модель.
3. В случае успешного ответа от контроллера, то есть список пользовательских объектов должен передать эти значения в другой HTML, который будет перебирать список объектов и отображать их в табличной форме.
Во втором HTML-коде я использую тег JSTL, который вызывается на стороне сервера, и, следовательно, данные, полученные в сценарии, не могут использоваться здесь, так как сценарий выполняется на стороне клиента. Единственный способ использовать эти значения во втором HTML-коде - это принести другой контроллер / доступ к веб-потоку, чтобы поместить данные в область потока.
Ниже приведен мой веб-поток XML.
`<view-state id="firstPage" view="firstPage" >
<transition on="nextpage" to="controller"/>
</view-state>
<action-state id="controller" >
<evaluate expression="controller.doSomething()"
<transition on="success" to="makeDecision" />
</action-state>
Ниже приведен мой код на странице, я попробовал 2 способа отправки формы и запуска веб-потока:
1. Первый способ отправки формы и второй путь через AJAX:.
`<form id="myForm" method="post" action="${flowExecutionUrl}&_eventId=nextpage">
<input type="hidden" name="firstParam" value="listOfObjects"/>
<input type="hidden" name="secondParam" value="listsize"/>
</form>
<script type="text/javascript">
$(document).ready(function () {
$('#myForm').submit();
}
</script>`
<script type="text/javascript">
$(document).ready(function () {
$('input[name="_eventId"]').val('nextpage');$.post('${flowExecutionUrl}', {list:listOfObjects,size:listsize}, function()
{
return true;
});
});
</script>
В обоих случаях контроллер не получает поток.
Любая помощь высоко ценится. Спасибо