编写带有自定义成功部分的常规AJAX函数

罗洛夫科

我试图通过在jQuery中编写一个通用函数来尽量减少添加到代码中的相似函数的数量。对于表单提交,AJAX代码的顶部对于我的所有应用程序都大致相同,但是成功部分中发生的情况在各个应用程序之间可能会有很大差异。

function general_submit_form(url, query, button, form) {
    $(document).on("click", button, function() {
        var data = $(this).closest('form').serialize();
        var url = url + '?' + query;
        $.ajax({
            type: 'POST',
            data: data,
            url: url,
            success: function(data) {
                console.log(data);
                if (data == 0) {
                    alert("Required parameters are empty!");
                } else if (data == 1) {
                    alert("Storage Space Added");
                        //fetch_storage_spaces();
                        $(form)[0].reset();
                        $(".custom_input").closest('tr').addClass('hidden');

                        fetch_storage_names("fetch_storage_names", "#storage_names");
                        fetch_all_storage_submit_forms();   
                    } else if (data == 2) {
                        alert("Storage name or serial taken");
                    }               
                }
            });
    }); 
}

此函数是我要编写的常规函数​​的示例。有什么办法可以改变函数外代码成功部分内部发生的事情?具体在data == 1if语句中?

谢谢!

塔哈·梅汀经销商

您也可以将成功函数作为参数传递。

function general_submit_form(url, query, button, form, success) {
    $(document).on("click", button, function() {
        var data = $(this).closest('form').serialize();
        var url = url + '?' + query;
        $.ajax({
          type: 'POST',
          data: data,
          url: url,
          success: success,
        });
    }); 
}

const success_fn = function(data) {
  console.log(data);
  if (data == 0) {
    alert("Required parameters are empty!");
  } else if (data == 1) {
    alert("Storage Space Added");
    //fetch_storage_spaces();
    $(form)[0].reset();
    $(".custom_input").closest('tr').addClass('hidden');

    fetch_storage_names("fetch_storage_names", "#storage_names");
    fetch_all_storage_submit_forms();   
  } else if (data == 2) {
      alert("Storage name or serial taken");
  }               
};

general_submit_form("url", "query", "button", "form", success_fn);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

编写带有参数的自定义spring注释?

编写具有覆盖成功处理能力的常规$ .ajax()函数

reStructuredText链接到带有自定义文本的部分

如果包括自定义条件,则Vaultquerybycriteria会忽略带有statestatus的常规条件

带有自定义函数的 Spark 聚合行

带有 dplyr 的 R 中的自定义函数

带有mutate的自定义函数不起作用

带有参数的jQuery自定义函数

从带有参数的自定义文件中调用函数

在keras回调中使用带有自定义参数的自定义函数

使用带有自定义构造函数的std :: set自定义比较器

用JSTL编写自定义函数

编写ggplot自定义几何函数

编写自定义聚合函数

子类中是否有符合自定义协议的常规空白函数?

使用带有自定义关键字的 Bultin 库“等待关键字成功”

在Ajax加载后在jQuery中加载自定义编写的函数

编写带有自定义选项和行为的 sed 脚本

如何编写带有自定义模块的node-webkit应用程序?

在不能使用函子的情况下,如何在C ++中编写带有自定义函数调用的模板化RAII包装器?

自定义Ajax Promise函数签名

如何编写具有加权平均的keras自定义f1损失函数?

为操作编写基于Python的自定义渐变函数?(没有C ++实现)

PHP自定义函数,带有as语法,函数($ x表示$ y)

带有 dplyr 函数的自定义函数不接受参数值

在自定义函数指令中添加带有args的内联函数

Magento 自定义模块上带有条件输入的动态菜单配置部分

带有自定义配置部分的配置文件中无法识别的元素“ Item”

带有自定义单元格的 UITableView 中的部分