在客户端监视事件时,有没有办法告诉 ajax 正在重定向?

When monitoring events on the client, is there a way to tell that the ajax is being redirected?

当 jsf ajax 被重定向时,客户端收到状态代码成功、responseCode 为 200 和 responseXML 为 null。有没有办法让客户端知道这是重定向?

正常情况下,responseXML绝对不应该是null。鉴于此,您可以按如下方式检查当前的 JSF ajax 响应是否表示重定向以及它指向的位置。

jsf.ajax.addOnEvent(function(data) {
    if (data.status == "complete") {
        var redirect = data.responseXML.getElementsByTagName("redirect");

        if (redirect.length) {
            var url = redirect[0].getAttribute("url");
            // ...
        }
    }
});