ajax - jquery ajax - 全局设置。是否可以知道什么事件/元素触发ajax调用?

标签 ajax jquery

这很容易解决,但如果它包含在全局 ajax 设置中就更好了

当我运行 ajax 调用时,我想知道哪个元素/事件触发了 beforeSend 选项中的 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 - jquery ajax - 全局设置。是否可以知道什么事件/元素触发ajax调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7812140/

相关文章:

jquery - 无法在 LINQ to Entities 查询中构造实体或复杂类型 'OdeToFood.Models.RestaurantListViewModel'

ajax - AJAX/历史记录-什么时候该在AJAX应用中调用`pushState`方法?

jquery - 通过 NuGet 保持 jQuery 更新

javascript - 如何使用 jQuery 将文本复制到客户端的剪贴板?

php - 如何使用 PHP 和 AJAX 显示 MySQL 数据库

ajax - 为什么 javascript eval 在 chrome、safari 中可以工作,但只有在 firebug 打开时才能在 firefox 中工作?

php - 实时了解用户在我的站点中

jquery - AJAX 自动完成响应格式

javascript - jquery 确认在表中提交正确的表单

javascript - 当用户进入我的网站时查找并存储邮政编码