문제

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>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top