0
私はdatatablesを使用しています。投稿後、データベースの変更が完了した後にページを更新したいとします。しかし、今のところ、データベースが更新される前または後にページが更新されると、かなりランダムになります。コールバック関数に 'success:'を追加しようとしましたが、これは役に立ちません。ポストコールバック関数の同期
スクリプトのDataTableのprojects.php用:
<script> $(document).ready(function() {
var projects = $('#projects').DataTable({
paging:true, dom: 'Blfrtip', colReorder: true, select: {style: 'single'},
buttons: [
{
text: 'Edit',
action: function() {
$projectID = $(projects.row('.selected').node()).data('id');
if ($projectID === undefined)
{
alert("Please select a project.");
} else {
window.location.href = "../projects/editProject.php?projectID=" + $projectID;
}
}
},
{
text: 'Add',
action: function() {
window.location.href = "../projects/addProject.php";
}
},
{
text: 'Delete',
action: function() {
$projectID = $(projects.row('.selected').node()).data('id');
if ($projectID === undefined)
{
alert("Please select a project.");
} else {
$.post("../projects/deleteProject.php",
{
projectID: $projectID,
function() {
window.location.reload(true);
}
}
);
}
}
}
] }); }); </script>
deleteProject.php:あなたは間違った場所にコールバック関数を置い
<?php
require("../database/dbService.php");
require("../projects/deleteProjectService.php");
session_start();
$connection = connectToDB();
// check if input data is set
if (!isset($_POST['projectID'])){
header("Location: ../projects/projects.php");
exit;
}
// input data
$projectID = $_POST['projectID'];
deleteProject($connection, $projectID);
$_SESSION['message'] = "The project has been deleted!";
?>