javascript - PHP/JS : Summarize ajax requests

标签 javascript php jquery mysql ajax

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

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

然后我使用 ajax 请求(例如创建):

$.ajax({
    type: "POST",
    url: "php/ajax/ajax.create.php",
    data: $('#form_*').serialize() + "&area=customers",
    success: function(result) {
        alert(result);
    }
});
  1. 如何在 PHP 中处理数据以获取包含所有不带“input_”和“select_”的值的数组(例如:name=>name、email=>email,...)
  2. 这是处理我所有 Ajax 请求的良好且安全的方式吗?

提前致谢:)

最佳答案

你需要一个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);
        }
    });
})

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

关于javascript - PHP/JS : Summarize ajax requests,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47982839/

相关文章:

javascript - 将 Tealium 的 utag.view 和/或 utag.link 用于动态加载的元素

php - 在表格中显示为长文本,如果为真,则为表格的一行着色

php - 如何使用 css 将 .png 显示为 <h2> 和 <image> 的框架

javascript - 我必须在 IE 中使用 jquery 框架按两次提交按钮来提交表单

javascript - jquery在appendTo之前初始化后将属性添加到存储在变量中的元素

javascript - 在主干js View 中调用oneview到另一个 View 没有出现

javascript - JS单元测试: run tests on file changes (like nodemon)

javascript - 将输入框滚动到javascript中的光标位置

javascript - Html - 将 html 插入 <p> </p> 标签

php - 以 XML 格式获取包含所有详细信息的所有项目