首页 文章

PHP / JS:总结ajax请求

提问于
浏览
0

因为我不想为每个子页面创建一个新的ajax文件,所以我想将我的所有ajax请求汇总为CREATE,UPDATE和DELETE .

因此,我将所有输入命名并选择“input_' and ' select_”,并使用&area添加表名 . *代表MySQL表中的行 .

然后我用(例如create)执行ajax请求:

$.ajax({
    type: "POST",
    url: "php/ajax/ajax.create.php",
    data: $('#form_*').serialize() + "&area=customers",
    success: function(result) {
        alert(result);
    }
});
  • 如何在PHP中处理数据以获取包含所有值的数组,而不使用'input_'和'select_'(例如:name => name,email => email,...)

  • 这是处理我所有ajax请求的好方法吗?

提前致谢 :)

1 回答

  • 0

    您需要一个 PHP 并在您的ajax请求中告诉PHP您要发送的内容 . 在 PHP 中使用isset()来检查正在发送的当前数据 .

    例如在PHP中

    <?php
    
    if (isset($_POST['delete'])) {
        // delete post data
    } elseif (isset($_POST['update'])) {
        // update post data
    } elseif (isset($_POST['create'])) {
        // create data here
    } elseif ....
    

    在你的JavaScript中

    $('#delete').on('click', function (e) {
        e.preventDefault();
        $.ajax({
            type: "POST",
            url: "php/ajax/ajax_file.php",
            data: $('#deleteForm').serialize() + '&' + $.param({delete: true}),
            success: function(result) {
                alert(result);
            }
        });
    })
    
    $('#create').on('click', function (e) {
        e.preventDefault();
        $.ajax({
            type: "POST",
            url: "php/ajax/ajax_file.php",
            data: $('#createForm').serialize() + '&' + $.param({create: true}),
            success: function(result) {
                alert(result);
            }
        });
    })
    
    $('#update').on('click', function (e) {
        e.preventDefault();
        $.ajax({
            type: "POST",
            url: "php/ajax/ajax_file.php",
            data: $('#updateForm').serialize() + '&' + $.param({update: true}),
            success: function(result) {
                alert(result);
            }
        });
    })
    

    所有这些请求都使用相同的文件,您只需要在PHP中检查使用 isset() 发送哪些数据 . 您还可以在表单中使用隐藏的输入并删除 $.param() ,如 <input type="text" name="delete" value="delete" hidden>

相关问题