jQuery ajax-全局设置是否有可能知道哪个事件/元素触发了ajax调用?

问题描述

beforeSend回调有两个参数:XMLHTTPRequest实例和当前AJAX调用使用的设置。

因此,如果您在context选项中传递了触发元素和事件,则beforeSend即使您在全局设置中对其进行定义,它们也将可用:

$.ajaxSetup({
    beforeSend: function(xhr, settings) {
        var element = settings.context.element;
        var event = settings.context.event;

        // Do something with 'element' and 'event'...
    }
});

$("selector").click(function(e) {
    $.ajax("url", {
        // your settings,
        context: {
            element: this,
            event: e
        }
    });
});

解决方法

这很容易解决,但是如果将其包装在全局ajax设置中会很好

当我运行ajax调用时,我想知道beforeSend选项中哪个元素/事件触发了ajax调用。

有一种简洁的方法吗?

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...