Javascript Zend框架:通过Ajax初始化操作调用会导致重定向。后续呼叫成功

Javascript Zend框架:通过Ajax初始化操作调用会导致重定向。后续呼叫成功,javascript,ajax,zend-framework,jquery,Javascript,Ajax,Zend Framework,Jquery,因此,我没有一个有趣的问题,我希望其他人以前偶然发现(并解决了) 我为这个特定应用程序上的用户设置了“更改我的密码”选项,如果用户忘记了密码,他们可以请求更改密码。我给他们发了一封电子邮件,邮件中的链接中嵌入了一个散列,将他们引导到一个简单的“更改密码”屏幕。 一旦用户单击更新按钮,我就通过ajax调用相应的控制器操作,服务器将处理各种事情,例如更新密码、删除令牌和重定向用户 以下是与更新按钮关联的ajax: updatePassword: function() { $.aj

因此,我没有一个有趣的问题,我希望其他人以前偶然发现(并解决了)

我为这个特定应用程序上的用户设置了“更改我的密码”选项,如果用户忘记了密码,他们可以请求更改密码。我给他们发了一封电子邮件,邮件中的链接中嵌入了一个散列,将他们引导到一个简单的“更改密码”屏幕。

一旦用户单击更新按钮,我就通过ajax调用相应的控制器操作,服务器将处理各种事情,例如更新密码、删除令牌和重定向用户

以下是与更新按钮关联的ajax:

updatePassword: function() {
        $.ajax({
            url: '/side-panel/update-password',
            dataType: 'json',
            type: 'post',
            data: {
                token: $('input[name=token]').val(),
                id: $('input[name=id]').val(),
                new_password: $('input[name=new-password]').val()
            },
            beforeSend: function() {
                kts.show_loader('show');
            },
            success: function(data) {
                kts.show_loader('hide');
                console.log(data);
            }
        });
    }
用户第一次单击按钮时-控制台显示:

请注意下面的URL和左上角的网络条目:

”http://code.kenstowell.local/“

它调用适当的操作,但返回302,然后重定向到站点的基本URL

用户第二次单击按钮时,它会调用控制器操作

请注意此处的URL:
“http://code.kenstowell.local/index/update-password“

这里真正的问题是,在第一次调用/按钮单击时,服务器端代码实际上得到了处理,但XHR对象返回了一个失败

如果这是信息过载,我道歉。如果您需要更多的代码/样本,请告诉我。谢谢你的帮助


我偶然发现了这个小宝石:


显然,ajax不能很好地处理服务器端重定向。

我错误地认为,这样做可以让您单击图像并查看其完整大小-我将在这里提供完整大小版本的远程URL。