作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我将 .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/
我是一名优秀的程序员,十分优秀!