【问题标题】:How to handle a redirect in AJAX after session timed out?会话超时后如何处理 AJAX 中的重定向?
【发布时间】:2013-07-30 11:16:44
【问题描述】:

当我的会话在 AJAX 请求之前超时时,我不会被重定向到登录页面,而是收到以下错误消息:

错误:Wicket.Ajax.Call.failure:解析响应时出错:错误:无效 XML

接下来是我的登录页面 html。最好我想在会话过期后立即重定向到登录页面。但如果这是不可能的,则可以通过某种点击进行重定向。处理这个问题的最佳方法是什么?

【问题讨论】:

    标签: jakarta-ee jboss wicket session-timeout wicket-6


    【解决方案1】:
    final Button searchButton = new AjaxButton(buttonId) {
    
            private static final long serialVersionUID = 1L;
    
            @Override
            protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
                // TODO Auto-generated method stub
                super.updateAjaxAttributes(attributes);
                AjaxCallListener ajaxCallListener = new AjaxCallListener() {
    
                    /**
                     * 
                     */
                    private static final long serialVersionUID = 1L;
    
                    @Override
                    public CharSequence getFailureHandler(Component component) {
                        return "window.location.replace(\"stackoverflow.com\");";
                    }
    
    
                };
                attributes.getAjaxCallListeners().add(ajaxCallListener);
            }}
    

    将它添加到它工作的每个 AJAX 组件后。一旦 AJAX 调用出现问题,就会进行重定向。在我的情况下,我将它重定向到我的登录页面,因为发生这种情况时用户已经注销。这可能不是最好的方法,但这是我能够解决它的唯一方法。

    【讨论】:

      猜你喜欢
      • 2014-03-22
      • 2013-05-27
      • 1970-01-01
      • 2013-06-10
      • 2010-11-03
      • 2012-10-31
      • 2013-06-08
      • 2020-02-17
      • 2011-07-11
      相关资源
      最近更新 更多