因为我不想为每个子页面创建一个新的ajax文件,所以我想将我的所有ajax请求汇总为CREATE,UPDATE和DELETE。
因此,我将所有输入命名并选择' input_ '和'选择_ '并使用& area添加表名。 *代表MySQL表中的行。
然后我用(例如create)执行ajax请求:
$.ajax({
type: "POST",
url: "php/ajax/ajax.create.php",
data: $('#form_*').serialize() + "&area=customers",
success: function(result) {
alert(result);
}
});
提前致谢:)
答案 0 :(得分: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>