문제
I am 전환하려고 다음의 상태 WebFlow Ajax 를 사용하여 요청합니다.하지만 그것에 동일한 상태로 반환합니다 GSP 으로 응답에 대한 그 국가는 동안 기대하고 있 GSP 다음에 대한 상태입니다.
다음은 WebFlow 코드:
def gettingStartedAjaxFlow = {
flow1 {
on("next") {
println "flow1"
}.to("flow2")
on("skip").to("flow2")
}
flow2 {
on("next") {
println "flow2"
}.to("flow3")
on("skip").to("flow3")
}
flow3 {
on("next"){
println "flow3"
}.to("finish")
on("skip").to("finish")
finish {
redirect(action:"index")
}
}
}
다음은 Ajax 를 통화를 만들기 위한 상태로 전환:
$.ajax({
type: "POST",
url: "/UN/user/gettingStartedAjax",
success: function(data) {
$("#wizardDiv").html(data);
}
});
이 GSPs 에 대한 각 국가(flow1,flow2,flow3)포함한 코드 조각을 갖는 remoteForm&필요한 다음 건너뛰 제출 버튼으로 전환해 다음 상태와 결과적으로 업데이트"wizardDiv"div.다음과 GSP 조각에 대한 flow1 상태:
<g:formRemote name="flow1Form" url="[controller:'user', action:'gettingStartedAjax']" update="wizardDiv">
<p>You are in flow 1</p>
<g:submitButton name="next" value="Next Flow" />
<g:submitButton name="skip" value="Skip Flow" />
</g:formRemote>
해결책
뿐만 아니라의 추적을 유지 실행(로 Daxon 게시)에 필요가 있는지 확인 버튼이라는 _eventId_next 및 _eventId_skip.g:submitbutton 은 일반적으로 똑똑히 이렇게 당신을 위해 그러나 되지 않을 수도 있습니다 내에 remoteForm.
또한,내 웹 흐름 코드를 사용한 매개 변수는 실행되지 않 flowExecutionKey-의 버전을배를 사용하고 있습니까?
다른 팁
내가 붙어에 동일한 문제는 거의 그것을 알아 냈어,
당신이해야 할 무엇이 다시 보낼배 webflow"_flowExecutionKey"유지하는 추적의 현재 상태
나는 당신이 볼 이, 으로만 괜찮은 결과는 구글이 찾습니다.
보 ajax 요구하는 조치를 채웁니다 템플릿송 으로 입력된 태그
<input id="flowExecutionKey" name="_flowExecutionKey" value="${request.flowExecutionKey}" size="100"/>
하지만 당신은 수려고 보내는 성전이 다시 표시아 JSON 으로"_flowExecutionKey"데이터와 함께 당신을 보내고 싶은 뒤,
는 내 두 개의 센트
여기에서 작동 하는 솔루션에배 2.5.3 위해 적어도 하나의 작업입니다.Id 의 이름과 버튼에 자동으로 포함하도록 수정"id"접두어로하지만 이것은 여전히 작동하지 않았다면 나는 추가 _event_id 수동으로 입력 매개 변수입니다.그러나 나는 확실하지 않다 어떻게 이를 위해 일할 수 있는 여러 가능한 이벤트입니다.
<g:formRemote name="flow1Form" url="[controller:'user', action:'gettingStartedAjax']" update="wizardDiv">
<input type="hidden" id="execution" name="execution" value="${request.flowExecutionKey}"/>
<input type="hidden" id="_eventId" name="_eventId" value="next"/>
<fieldset class="form">
</fieldset>
<fieldset class="buttons">
<g:submitButton name="next" value="Next flow"/>
</fieldset>
</g:formRemote>