1

我是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>
4

2 回答 2

2

您不能使用,<result type="redirect">/quiz-success.jsp</result>因为您正在使用 javascript 调用服务器。它是从服务器获取答案的脚本,而不是页面,因此您必须在脚本中处理它。

于 2012-11-15T20:36:24.050 回答
0

改变这一行,看看这是否适合你:

改变这个

Window.location = "/cms/home.action"+sessiontoken;

对此

window.location.replace(window.location.href+"/cms/home.action"+sessiontoken);
于 2012-11-14T17:31:43.557 回答