我是not using struts2-jquery-plugin
。仅使用最新的struts2-json-plugin with JQuery
。
成功验证后,想要redirect/actionredirect
到另一个页面。如果我这样做<result type="redirect">/quiz-success.jsp</result>
或<result>/quiz-success.jsp</result>
无效。
问题:你们是怎么做到的?
1 - Is it possible to do redirection etc in struts.xml during AJAX request?
2 - I have to redirect/page refresh in $.ajax({ success: function (data) {} }); like below?
$.ajax({
url: url,
type: 'POST',
data: viewData,
//dataType: "json",
cache: false,
complete: postValidation,
error: function (XMLHttpRequest, textStatus, errorThrown) {
console.log("error :"+XMLHttpRequest.responseText);
},
success: function (data) {
Window.location = "/cms/home.action"+sessiontoken;
}
});
struts.xml中
<package name="validation" namespace="/validation" extends="json-default">
<action name="quizAjax" class="com.myapp.action.QuizAction" method="sayHi">
<interceptor-ref name="jsonValidationWorkflowStack"/>
<result name="input">/quiz-ajax.jsp</result>
<result type="redirect">/quiz-success.jsp</result>
</action>
</package>
答案 0 :(得分:2)
您无法使用<result type="redirect">/quiz-success.jsp</result>
,因为您使用javascript调用服务器。这是从服务器获取答案的脚本,而不是页面,因此您必须在脚本中处理它。
答案 1 :(得分:0)
更改此行,看看这是否适合您:
更改此
Window.location = "/cms/home.action"+sessiontoken;
到这个
window.location.replace(window.location.href+"/cms/home.action"+sessiontoken);