javascript - jQuery 事件 ajax 调度

标签 javascript jquery

在 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/

相关文章:

javascript - 如何取消异步 promise 中的订阅以避免 Reactjs 中的内存泄漏

javascript - 加载 <script> 内容后是否加载 jQuery.load() ?

javascript - 按下按钮时在 URL 中发布数据

javascript - 如何检查表的父类

jquery - NW JS - 从 URL 下载并保存文件

Javascript 函数在 .load 之后始终不运行

javascript - 页面刷新时导航到另一个路由 vuejs

javascript - 如何将 'Results Per Page' 下拉转换为链接

c# - .append() 在为图像 slider 动态绑定(bind)图像时不起作用

jquery - 这个 jQuery SlideToggle 函数有什么问题?