在 jQuery 中,有没有聪明/快捷的方法可以将标识符附加到一些常规的 ajax 事件上?
为了解释一下,我正在创建一些功能,这些功能分为两个单独的功能:模块 A 和模块 B。模块 A 以及其他一些东西主要负责 ajax 调用。在模块 A 完成并且 ajax 调用返回后,模块 B 负责前端 dom 工作。
我目前只是触发每个 ajax 函数的事件:
- 发送前
- 成功
- 完成
- 错误
因此模块具有以下代码(以及其他内容):
$.ajax({
url: 'myajaxurl',
beforeSend : function() {
$('#form').trigger('module_a_before_send');
},
success: function(response) {
$('#form').trigger('module_a_success');
},
complete: function() {
$('#form').trigger('module_a_complete');
},
error: function(textStatus) {
$('#form').trigger('module_a_error');
},
timeout: 3000
});
最佳答案
您可以使用数据选项向服务器端发送一个值来识别 ajax 调用:
var data = if some event ? attach some value : if not attach other value etc,
elem = $('#form');
$.ajax({
url: 'myajaxurl',
data: data,
beforeSend : function() {
elem.trigger('module_a_before_send');
},
success: function(response) {
elem.trigger('module_a_success');
},
complete: function() {
elem.trigger('module_a_complete');
},
error: function(textStatus) {
elem.trigger('module_a_error');
},
timeout: 3000
});
如何捕获数据取决于所使用的服务器端语言,但对于 PHP 之类的语言,它将位于 $_POST
全局中。
关于javascript - jQuery 事件 ajax 调度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11811437/