因为我不想为每个子页面创建一个新的 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);
}
});
- 如何在 PHP 中处理数据以获取包含所有不带“input_”和“select_”的值的数组(例如:name=>name、email=>email,...)
- 这是处理我所有 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/