我正在尝试使用 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);
}
});
每个状态(flow1、flow2、flow3)的 GSP 包含一个代码片段,该代码片段具有 remoteForm & next 和 skip submit 按钮以转换到下一个状态,因此更新“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>