问题描述
该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调用。
有一种简洁的方法吗?