繁体   English   中英

数据表警告:表 id=table_companies - JSON 响应无效。 有关此错误的更多信息,请参阅 http://datatables.net/tn/1

[英]DataTables warning: table id=table_companies - Invalid JSON response. For more information about this error, please see http://datatables.net/tn/1

请帮帮我。 我在这里有一个错误,我不知道为什么每次刷新页面时都会提示错误,

数据表警告:表 id=table_companies - JSON 响应无效。 有关此错误的更多信息,请参阅http://datatables.net/tn/1

帮我解决这个问题。 我不知道接下来会做什么

这是我的 ajax

    $(document).ready(function(){

  // On page load: datatable
  var table_document = $('#table_document').dataTable({
    "ajax": "data.php?document=get_document",
    "columns": [
      { "data": "date" },
      { "data": "program",   "sClass": "program" },
      { "data": "doc_type","sClass":"varchar" },
      { "data": "doc_title",        "sClass": "integer" },
      { "data": "recieved",    "sClass": "integer" },
      { "data": "date_recieved",      "sClass": "integer" },
      { "data": "remarks",     "sClass": "integer" },
      { "data": "headquarters" },
      { "data": "functions",      "sClass": "functions" }
    ],
    "aoColumnDefs": [
      { "bSortable": false, "aTargets": [-1] }
    ],
    "lengthMenu": [[10, 25, 50, 100, -1], [10, 25, 50, 100, "All"]],
    "oLanguage": {
      "oPaginate": {
        "sFirst":       " ",
        "sPrevious":    " ",
        "sNext":        " ",
        "sLast":        " ",
      },
      "sLengthMenu":    "Records per page: _MENU_",
      "sInfo":          "Total of _TOTAL_ records (showing _START_ to _END_)",
      "sInfoFiltered":  "(filtered from _MAX_ total records)"
    }
  });

  // On page load: form validation
  jQuery.validator.setDefaults({
    success: 'valid',
    rules: {
      recieved: {
        required: true,
        min:      2000,
        max:      2025
      }
    },
    errorPlacement: function(error, element){
      error.insertBefore(element);
    },
    highlight: function(element){
      $(element).parent('.field_container').removeClass('valid').addClass('error');
    },
    unhighlight: function(element){
      $(element).parent('.field_container').addClass('valid').removeClass('error');
    }
  });
  var form_document = $('#form_document');
  form_document.validate();

  // Show message
  function show_message(message_text, message_type){
    $('#message').html('<p>' + message_text + '</p>').attr('class', message_type);
    $('#message_container').show();
    if (typeof timeout_message !== 'undefined'){
      window.clearTimeout(timeout_message);
    }
    timeout_message = setTimeout(function(){
      hide_message();
    }, 8000);
  }
  // Hide message
  function hide_message(){
    $('#message').html('').attr('class', '');
    $('#message_container').hide();
  }

  // Show loading message
  function show_loading_message(){
    $('#loading_container').show();
  }
  // Hide loading message
  function hide_loading_message(){
    $('#loading_container').hide();
  }

  // Show lightbox
  function show_lightbox(){
    $('.lightbox_bg').show();
    $('.lightbox_container').show();
  }
  // Hide lightbox
  function hide_lightbox(){
    $('.lightbox_bg').hide();
    $('.lightbox_container').hide();
  }
  // Lightbox background
  $(document).on('click', '.lightbox_bg', function(){
    hide_lightbox();
  });
  // Lightbox close button
  $(document).on('click', '.lightbox_close', function(){
    hide_lightbox();
  });
  // Escape keyboard key
  $(document).keyup(function(e){
    if (e.keyCode == 27){
      hide_lightbox();
    }
  });

  // Hide iPad keyboard
  function hide_ipad_keyboard(){
    document.activeElement.blur();
    $('input').blur();
  }

  // Add document button
  $(document).on('click', '#add_Document', function(e){
    e.preventDefault();
    $('.lightbox_content h2').text('Add Document');
    $('#form_document button').text('Add Document');
    $('#form_document').attr('class', 'form add');
    $('#form_document').attr('data-id', '');
    $('#form_document .field_container label.error').hide();
    $('#form_document .field_container').removeClass('valid').removeClass('error');
    $('#form_document #date').val('');
    $('#form_document #program').val('');
    $('#form_document #doc_type').val('');
    $('#form_document #doc_title').val('');
    $('#form_document #recieved').val('');
    $('#form_document #date_recieved').val('');
    $('#form_document #remarks').val('');

    show_lightbox();
  });

  // Add document submit form
  $(document).on('submit', '#form_document.add', function(e){
    e.preventDefault();
    // Validate form
    if (form_document.valid() == true){
      // Send document information to database
      hide_ipad_keyboard();
      hide_lightbox();
      show_loading_message();
      var form_data = $('#form_document').serialize();
      var request   = $.ajax({
        url:          'data.php?document=add_document',
        cache:        false,
        data:         form_data,
        dataType:     'json',
        contentType:  'application/json; charset=utf-8',
        type:         'get'
      });
      request.done(function(output){
        if (output.result == 'success'){
          // Reload datable
          table_document.api().ajax.reload(function(){
            hide_loading_message();
            var program = $('#program').val();
            show_message("program '" + program + "' added successfully.", 'success');
          }, true);
        } else {
          hide_loading_message();
          show_message('Add request failed', 'error');
        }
      });
      request.fail(function(jqXHR, textStatus){
        hide_loading_message();
        show_message('Add request failed: ' + textStatus, 'error');
      });
    }
  });

  // Edit document button
  $(document).on('click', '.function_edit a', function(e){
    e.preventDefault();
    // Get document information from database
    show_loading_message();
    var doc_id      = $(this).data('doc_id');
    var request = $.ajax({
      url:          'data.php?document=get_document',
      cache:        false,
      data:         'doc_id=' + doc_id,
      dataType:     'json',
      contentType:  'application/json; charset=utf-8',
      type:         'get'
    });
    request.done(function(output){
      if (output.result == 'success'){
        $('.lightbox_content h2').text('Edit document');
        $('#form_documentbutton').text('Edit document');
        $('#form_document').attr('class', 'form edit');
        $('#form_document').attr('data-id', id);
        $('#form_document .field_container label.error').hide();
        $('#form_document .field_container').removeClass('valid').removeClass('error');
        $('#form_document #date').val(output.data[0].date);
        $('#form_document #program').val(output.data[0].program);
        $('#form_document #doc_type').val(output.data[0].doc_type);
        $('#form_document #doc_title').val(output.data[0].doc_title);
        $('#form_document #recieved').val(output.data[0].recieved);
        $('#form_document #date_recieved').val(output.data[0].date_recieved);
        $('#form_document #remarks').val(output.data[0].remaks);
        hide_loading_message();
        show_lightbox();
      } else {
        hide_loading_message();
        show_message('Information request failed', 'error');
      }
    });
    request.fail(function(jqXHR, textStatus){
      hide_loading_message();
      show_message('Information request failed: ' + textStatus, 'error');
    });
  });

  // Edit document submit form
  $(document).on('submit', '#form_document.edit', function(e){
    e.preventDefault();
    // Validate form
    if (form_document.valid() == true){
      // Send document information to database
      hide_ipad_keyboard();
      hide_lightbox();
      show_loading_message();
      var id        = $('#form_document').attr('data-id');
      var form_data = $('#form_document').serialize();
      var request   = $.ajax({
        url:          'data.php?document=edit_document&doc_id=' + doc_id,
        cache:        false,
        data:         form_data,
        dataType:     'json',
        contentType:  'application/json; charset=utf-8',
        type:         'get'
      });
      request.done(function(output){
        if (output.result == 'success'){
          // Reload datable
          table_document.api().ajax.reload(function(){
            hide_loading_message();
            var doc_title = $('#doc_title').val();
            show_message("document '" + doc_title + "' edited successfully.", 'success');
          }, true);
        } else {
          hide_loading_message();
          show_message('Edit request failed', 'error');
        }
      });
      request.fail(function(jqXHR, textStatus){
        hide_loading_message();
        show_message('Edit request failed: ' + textStatus, 'error');
      });
    }
  });

  // Delete document
  $(document).on('click', '.function_delete a', function(e){
    e.preventDefault();
    var doc_title = $(this).data('name');
    if (confirm("Are you sure you want to delete '" + doc_title + "'?")){
      show_loading_message();
      var id      = $(this).data('id');
      var request = $.ajax({
        url:          'data.php?document=delete_document&id=' + id,
        cache:        false,
        dataType:     'json',
        contentType:  'application/json; charset=utf-8',
        type:         'get'
      });
      request.done(function(output){
        if (output.result == 'success'){
          // Reload datable
          table_document.api().ajax.reload(function(){
            hide_loading_message();
            show_message("document '" + doc_title + "' deleted successfully.", 'success');
          }, true);
        } else {
          hide_loading_message();
          show_message('Delete request failed', 'error');
        }
      });
      request.fail(function(jqXHR, textStatus){
        hide_loading_message();
        show_message('Delete request failed: ' + textStatus, 'error');
      });
    }
  });
});

PHP文件

<?php
// Database details
$db_server   = 'localhost';
$db_username = 'root';
$db_password = '';
$db_name     = 'dmsregister';

// Get document (and doc_id)
$document = '';
$doc_id  = '';
if (isset($_GET['document'])){
  $document = $_GET['document'];
  if ($document == 'get_document' ||
      $document == 'get_document'   ||
      $document == 'add_document'   ||
      $document == 'edit_document'  ||
      $document == 'delete_document'){
    if (isset($_GET['doc_id'])){
      $doc_id = $_GET['doc_id'];
      if (!is_numeric($doc_id)){
        $doc_id = '';
      }
    }
  } else {
    $document = '';
  }
}

// Prepare array
$mysql_data = array();

// Valdoc_id document found
if ($document != ''){

  // Connect to database
  $db_connection = mysqli_connect($db_server, $db_username, $db_password, $db_name);
  if (mysqli_connect_errno()){
    $result  = 'error';
    $message = 'Failed to connect to database: ' . mysqli_connect_error();
    $document    = '';
  }

  // Execute document
  if ($document == 'get_document'){

    // Get companies
    $query = "SELECT * FROM blgd ORDER BY doc_id";
    $query = mysqli_query($db_connection, $query);
    if (!$query){
      $result  = 'error';
      $message = 'query error';
    } else {
      $result  = 'success';
      $message = 'query success';
      while ($document = mysqli_fetch_array($query)){
        $functions  = '<div class="function_buttons"><ul>';
        $functions .= '<li class="function_edit"><a data-doc_id="'   . $document['doc_id'] . '" data-name="' . $document['program'] . '"><span>Edit</span></a></li>';
        $functions .= '<li class="function_delete"><a data-doc_id="' . $document['doc_id'] . '" data-name="' . $document['program'] . '"><span>Delete</span></a></li>';
        $functions .= '</ul></div>';
        $mysql_data[] = array(
          "date"          => $document['date'],
          "program"  => $document['program'],
          "doc_type"    => $document['doc_type'],
          "doc_title"       => $document['doc_title'],
          "recieved"   => $document['recieved'],
          "date_recieved"     => $document['date_recieved'],
          "remarks"    => $document['remarks'],
          "functions"     => $functions
        );
      }
    }

  } elseif ($document == 'get_document'){

    // Get document
    if ($doc_id == ''){
      $result  = 'error';
      $message = 'doc_id missing';
    } else {
      $query = "SELECT * FROM blgd WHERE doc_id = '" . mysqli_real_escape_string($db_connection, $doc_id) . "'";
      $query = mysqli_query($db_connection, $query);
      if (!$query){
        $result  = 'error';
        $message = 'query error';
      } else {
        $result  = 'success';
        $message = 'query success';
        while ($document = mysqli_fetch_array($query)){
          $mysql_data[] = array(
            "date"          => $document['date'],
            "program"  => $document['program'],
            "doc_type"    => $document['doc_type'],
            "doc_title"       => $document['doc_title'],
            "recieved"   => $document['recieved'],
            "date_recieved"     => $document['date_recieved'],
            "remarks"    => $document['remarks'],

          );
        }
      }
    }

  } elseif ($document == 'add_document'){

    // Add document
    $query = "INSERT INTO blgd SET ";
    if (isset($_GET['date']))         { $query .= "date         = '" . mysqli_real_escape_string($db_connection, $_GET['rank'])         . "', "; }
    if (isset($_GET['program'])) { $query .= "program = '" . mysqli_real_escape_string($db_connection, $_GET['document_name']) . "', "; }
    if (isset($_GET['doc_type']))   { $query .= "doc_type   = '" . mysqli_real_escape_string($db_connection, $_GET['industries'])   . "', "; }
    if (isset($_GET['doc_title']))      { $query .= "doc_title      = '" . mysqli_real_escape_string($db_connection, $_GET['revenue'])      . "', "; }
    if (isset($_GET['recieved']))  { $query .= "recieved  = '" . mysqli_real_escape_string($db_connection, $_GET['fiscal_year'])  . "', "; }
    if (isset($_GET['date_recieved']))    { $query .= "date_recieved    = '" . mysqli_real_escape_string($db_connection, $_GET['employees'])    . "', "; }
    if (isset($_GET['remarks']))   { $query .= "remarks   = '" . mysqli_real_escape_string($db_connection, $_GET['market_cap'])   . "', "; }
    $query = mysqli_query($db_connection, $query);
    if (!$query){
      $result  = 'error';
      $message = 'query error';
    } else {
      $result  = 'success';
      $message = 'query success';
    }

  } elseif ($document == 'edit_document'){

    // Edit document
    if ($doc_id == ''){
      $result  = 'error';
      $message = 'doc_id missing';
    } else {
      $query = "UPDATE blgd SET ";
      if (isset($_GET['date']))         { $query .= "date         = '" . mysqli_real_escape_string($db_connection, $_GET['rank'])         . "', "; }
      if (isset($_GET['program'])) { $query .= "program = '" . mysqli_real_escape_string($db_connection, $_GET['document_name']) . "', "; }
      if (isset($_GET['doc_type']))   { $query .= "doc_type   = '" . mysqli_real_escape_string($db_connection, $_GET['industries'])   . "', "; }
      if (isset($_GET['doc_title']))      { $query .= "doc_title      = '" . mysqli_real_escape_string($db_connection, $_GET['revenue'])      . "', "; }
      if (isset($_GET['recieved']))  { $query .= "recieved  = '" . mysqli_real_escape_string($db_connection, $_GET['fiscal_year'])  . "', "; }
      if (isset($_GET['date_recieved']))    { $query .= "date_recieved    = '" . mysqli_real_escape_string($db_connection, $_GET['employees'])    . "', "; }
      if (isset($_GET['remarks']))   { $query .= "remarks   = '" . mysqli_real_escape_string($db_connection, $_GET['market_cap'])   . "', "; }
      $query .= "WHERE doc_id = '" . mysqli_real_escape_string($db_connection, $doc_id) . "'";
      $query  = mysqli_query($db_connection, $query);
      if (!$query){
        $result  = 'error';
        $message = 'query error';
      } else {
        $result  = 'success';
        $message = 'query success';
      }
    }

  } elseif ($document == 'delete_document'){

    // Delete document
    if ($doc_id == ''){
      $result  = 'error';
      $message = 'doc_id missing';
    } else {
      $query = "DELETE FROM blgd WHERE doc_id = '" . mysqli_real_escape_string($db_connection, $doc_id) . "'";
      $query = mysqli_query($db_connection, $query);
      if (!$query){
        $result  = 'error';
        $message = 'query error';
      } else {
        $result  = 'success';
        $message = 'query success';
      }
    }

  }

  // Close database connection
  mysqli_close($db_connection);

}

// Prepare data
$data = array(
  "result"  => $result,
  "message" => $message,
  "data"    => $mysql_data
);

// Convert PHP array to JSON array
$json_data = json_encode($data);
print $json_data;
?>

HTML文件

<?php
// Initialize the session
session_start();

// If session variable is not set it will redirect to login page
if(!isset($_SESSION['username']) || empty($_SESSION['username'])){
  header("location: indexlogin.php");
  exit;
}

 echo "welcome".$_SESSION['username'];
?>

<!doctype html>
<html lang="en" dir="ltr">
  <head>
    <title>BLGD DOCUMENT MANAGEMENT SYSTEM</title> 
    <meta charset="utf-8">
    <meta name="viewport" content="width=1000, initial-scale=1">
    <meta http-equiv="X-UA-Compatible" content="IE=Edge">
    <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Oxygen:400,700">
    <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
    <link rel="stylesheet" href="layout.css">
    <script charset="utf-8" src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
    <script charset="utf-8" src="//cdn.datatables.net/1.10.0/js/jquery.dataTables.js"></script>
    <script charset="utf-8" src="//cdn.jsdelivr.net/jquery.validation/1.13.1/jquery.validate.min.js"></script>
    <script charset="utf-8" src="webapp.js"></script>
  </head>
  <body>

    <div id="page_container">

      <h1>BLGD DOCUMENT MANAGEMENT SYSTEM</h1>

      <button type="button" class="button" id="add_company">Add Document</button>

      <table class="datatable" id="table_companies">
        <thead>
          <tr>
            <th>Document ID</th>
            <th> date</th>
            <th>Program</th>
            <th>document type</th>
            <th>Document Title</th>
            <th>recieved by</th>
            <th>date recieved</th>
            <th>Remarks</th>
            <th>Functions</th>
          </tr>
        </thead>
        <tbody>
        </tbody>
      </table>

    </div>

    <div class="lightbox_bg"></div>

    <div class="lightbox_container">
      <div class="lightbox_close"></div>
      <div class="lightbox_content">

        <h2>Add Document</h2>
        <form class="form add" id="form_company" data-id="" novalidate>
          <div class="input_container">
            <label for="rank">date <span class="required">*</span></label>
            <div class="field_container">
              <input type="date"  class="text" name="date" id="date" value="" required>
            </div>
          </div>
          <div class="input_container">
            <label for="company_name">Program <span class="required">*</span></label>
            <div class="field_container">
                <select name="program" value="" placeholder="select a program" id="program">
              <option name="program">Performance Challenge Fund </option>
              <option name="program"> Gender and Development </option>
              <option name="program"> Other Interagency Program </option>
</select>
            </div>
          </div>
          <div class="input_container">
            <label for="doc_type">Document Type <span class="required">*</span></label>
            <div class="field_container">
            <select name="doc_type" value="" placeholder="select a document type" id="doc_type">
              <option name="doc_type">Memorandum </option>
              <option name="doc_type"> Department Order </option>
              <option name="doc_type"> Bureau Order </option>
              <option name="doc_type"> advisory </option>
              <option name="doct_type"> report </option>
              <option name="doc_type"> Activity Design </option>
              <option name="doc_type"> Others </option> 
</select>
            </div>
          </div>
          <div class="input_container">
            <label for="doc_title">Document Title <span class="required">*</span></label>
            <div class="field_container">
              <input type="text"  class="text" name="doc_title" id="doc_title" value="" required>
            </div>
          </div>
          <div class="input_container">
            <label for="recieved">Recieved by <span class="required">*</span></label>
            <div class="field_container">
              <input type="text"  class="text" name="recieved" id="recieved" value="" required>
</div>
          </div>
          <div class="input_container">
            <label for="date_recieved">Date Recieved <span class="required">*</span></label>
            <div class="field_container">
              <input type="date" min="0" class="date" name="date_recieved" id="date_recieved" value="" required>
            </div>
          </div>

          </div>
          <div class="button_container">
            <button type="submit">Add Document</button>
          </div>
        </form>

      </div>
    </div>

    <noscript id="noscript_container">
      <div id="noscript" class="error">
        <p>JavaScript support is needed to use this page.</p>
      </div>
    </noscript>

    <div id="message_container">
      <div id="message" class="success">
        <p>This is a success message.</p>
      </div>
    </div>

    <div id="loading_container">
      <div id="loading_container2">
        <div id="loading_container3">
          <div id="loading_container4">
            Loading, please wait...
          </div>
        </div>
      </div>
    </div>

  </body>
</html>

我有同样的问题,只需更改 url 即可解决。

http://127.0.0.1:8000/admin/doctors/data/1draw=1&columns%5B0%5D%5Bdata%5D=id&columns%5B0%5D%5Bname%5D

http://127.0.0.1:8000/admin/doctor/data/1draw=1&columns%5B0%5D%5Bdata%5D=id&columns%5B0%5D%5Bname%5D

医生医生

如果您的问题仍然没有解决,像这样尝试,可能会有所帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM