gpt4 book ai didi

jQuery ajax 完成 : Is there a way to tell which Javascript function executed the ajax call?

转载 作者:行者123 更新时间:2023-12-01 06:13:26 26 4
gpt4 key购买 nike

我将 .ajaxComplete 事件连接到如下几个元素:

$("#ElementId").ajaxComplete(function (a, b, c) { });

问题是我的脚本中有多个由各种函数调用的 $.ajax 调用。我不希望为每个 ajax 调用的每个控件触发 .ajaxComplete 事件。从概念上讲,我正在寻找这样的东西:

if (a.function == SearchCustomers) { 执行此操作 }

有什么办法可以实现我想要的吗?

编辑:我意识到我可以检查我正在调用的服务的 URL,但我不想在脚本中多次硬编码 URL 字符串。

最佳答案

更新

查看此演示:http://jsfiddle.net/Z6Z5e/4/

<小时/>

您可以在 .ajax() 调用中的自定义属性中指定函数标识符,并在 ajaxComplete() 回调中使用该值。

例如,在进行 .ajax() 调用时添加 'func' 属性:

function foo() {
$.ajax({
url: '/someurl',
...
func: 'foo',
...
});
}

然后,使用 ajaxComplete()

中的值
$('#someElement').ajaxComplete(function(e, xhr, settings) {
if (settings.func == 'foo') {
// ...
}
else if (settings.func == 'bar') {
// ...
}
});

关于jQuery ajax 完成 : Is there a way to tell which Javascript function executed the ajax call?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12976130/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com