1

我正在使用jquery ajax plugin提交表单。

$('#profile-form').ajaxForm({
            success:function(response, statusText, xhr, $form){
                console.log(statusText,response,xhr);
            },
            beforeSubmit : function(formData, jqForm, options){
                if ($('#permissions').data("permissionsModified") == true){
                    formData.push({name : 'selectedPermissions', value : JSON.stringify($('#permissions').data('selected'))});
                }
            }
        });

服务器发回重定向请求,并且在 firebug 控制台上显示以下内容:

302 临时搬家

在表单的操作 url 前面。紧接着,重定向 URL 会显示出来,并且from 中的“请求进行中”符号一直在旋转。在ajaxform的成功回调中, statusText为“成功”,响应文本为整个新的重定向页面。如何检查服务器是否已重定向请求(然后,如何在浏览器上显示重定向页面)或服务器是否有 json 响应

4

1 回答 1

1

如果我没记错的话,浏览器应该默默地(透明地)遵循通过 AJAX 请求发出的任何重定向。

经过一番挖掘,看来我是正确的,见第 2 点:http ://www.w3.org/TR/XMLHttpRequest/#same-origin-request-event-rules

我能想到的唯一解决方案是自定义状态码,但这有点把范式延伸了一点。不幸的是,没有什么可以做的。

于 2012-06-05T23:48:49.830 回答