gpt4 book ai didi

ajax - 使用Ajax的Grails WebFlow

转载 作者:行者123 更新时间:2023-12-02 13:50:13 25 4
gpt4 key购买 nike

我正在尝试使用Ajax请求过渡到WebFlow的下一个状态。但是它保持相同的状态,并返回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);
}
});

每个状态(流程1,流程2,流程3)的GSP都包含一个代码片段,该片段具有remoteForm和next所需的内容,并跳过提交按钮以转换到下一个状态,结果更新了“wizardDiv” div。以下是flow1状态的GSP片段:
<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-您使用的是哪个版本的Grails?

关于ajax - 使用Ajax的Grails WebFlow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2050969/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com