在成功函数之前从jQuery AJAX调用获取响应值

时间:2016-12-12 18:58:50

标签: javascript jquery ajax

我有一个通过jQuery进行AJAX调用的系统。我希望将所有收到的数据与请求详细信息一起使用,而不修改$ .ajax的当前用途,并将其发送到另一个API进行分析。

我尝试使用$ .ajaxSetup:

[AnyHashable("key"): Optional("value")]
[AnyHashable("key"): Optional("value")]

但是调用$ .ajax的成功函数发生在我的成功函数之前,有时在响应对象中有修改。 显然在那些情况下,我得到了相同的,修改过的响应对象。

有没有办法在成功函数之前读取响应对象? 感谢

1 个答案:

答案 0 :(得分:2)

你不应该调用success函数,你应该用一个执行额外调用的函数替换它,然后调用原来的成功函数。

$.ajaxSetup({
    beforeSend: function(request, settings) {
        var origSuccess = settings.success;
        settings.success = function(response, textStatus, jqXHR) {
            settings.success = origSuccess;
            analysis.sendData(settings, response, textStatus, jqXHR);
        }
    }
});