这很容易解决,但如果它包含在全局 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/