doumi9661 2016-10-06 12:55
浏览 51
已采纳

发布回调函数同步

I'm using datatables and after post I want to refresh the page after changes in the database are done. But for now it's pretty much random if the page refreshes before or after the database is updated. I also tried to add 'success:' to the callback function but this doesn't help.

Script for datatables 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!";


?>
  • 写回答

1条回答 默认 最新

  • doumie7914 2016-10-06 13:45
    关注

    You placed callback function in the wrong place, it should have been:

    $.post(
       "../projects/deleteProject.php",
       { projectID: $projectID },
       function(){ window.location.reload(true); }           
    );
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥15 Python3.5 相关代码写作
  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗