我有一个通过jQuery进行AJAX调用的系统。我希望将所有收到的数据与请求详细信息一起使用,而不修改$ .ajax的当前用途,并将其发送到另一个API进行分析。
我尝试使用$ .ajaxSetup:
[AnyHashable("key"): Optional("value")]
[AnyHashable("key"): Optional("value")]
但是调用$ .ajax的成功函数发生在我的成功函数之前,有时在响应对象中有修改。 显然在那些情况下,我得到了相同的,修改过的响应对象。
有没有办法在成功函数之前读取响应对象? 感谢
答案 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);
}
}
});