簡體   English   中英

php DataTables中的Ajax警告:表格ID = example-無效的JSON響應

[英]Ajax from php DataTables warning:table id=example - Invalid JSON response

 <!DOCTYPE html> <!-- To change this license header, choose License Headers in Project Properties. To change this template file, choose Tools | Templates and open the template in the editor. --> <html> <head> <meta charset="GBK"> <title></title> </head> <body> {"sEcho":1,"iTotalRecords":1,"iTotalDisplayRecords":1,"aaData":[["086671","NB","MSC-1","09-APR-15"],["086673","DB","MSC-2","09-APR-15"],["086678","DA","MSC-1","10-APR-15"],["086682","DA","MSC-1","10-APR-15"],["086683","NA","MSC-1","10-APR-15"],["086491","NA","MSC-2","25-MAR-15"],["086686","DA","MSC-1","10-APR-15"],["086688","DA","MSC-2","10-APR-15"],["086690","NA","MSC-2","10-APR-15"],["086496","DA","MSC-1","25-MAR-15"],["086685","NB","MSC-1","09-APR-15"],["086848","NA","MSC-2","22-APR-15"],["086516","NA","MSC-1","22-APR-15"],["086523","DA","MSC-1","22-APR-15"],["086839","DA","MSC-2","22-APR-15"],["086849","DA","MSC-1","22-APR-15"],["086528","NB","MSC-1","24-APR-15"],["086526","NB","MSC-1","27-MAR-15"],["086478","DA","MSC-1","25-MAR-15"],["086482","DB","MSC-1","27-MAR-15"],["086832","NB","MSC-1","24-APR-15"],["086840","DB","MSC-2","24-APR-15"],["086842","NB","MSC-2","24-APR-15"],["086828","DB","MSC-1","24-APR-15"],["086987","NB","MSC-1","07-MAY-15"],["086991","DB","MSC-2","07-MAY-15"]]} </body> </html> 

我是php和jQuery的新手,現在我有一個問題。 當我使用數據表查詢數據,錯誤作為標題和詳細代碼時,如下所示:

HTML:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="GBK">
            <title>作業</title>
            <link href="http://CEA815099W/test/cim_web/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
            <link rel="stylesheet" type="text/css" href="http://Cea815099w/test/cim_web/css/dataTables.bootstrap.css" />
            <script src="http://CEA815099W/test/cim_web/js/jquery-1.11.3.min.js"></script>
            <script src="http://CEA815099W/test/cim_web/js/jquery.dataTables.min.js"></script>
            <script src="http://CEA815099W/test/cim_web/js/dataTables.bootstrap.js"></script>
            <script src="http://CEA815099W/test/cim_web/js/echarts.js"></script>
            <script src="http://CEA815099W/test/cim_web/js/bootstrap.min.js">
    </head>
    <body>
  <!-- table--> 
  <div class="container">
    <table id="example" class="table table-striped table-bordered" cellspacing="0" width="100%">
        <thead>
              <tr>
                  <th>工號</th>
                  <th>班別</th>
          <th>站點</th>
                  <th>時間</th>
              </tr>
          </thead>
          <tbody>
          <!-- js處理數據庫內容--> 
          </tbody>
          <tfoot>
              <tr>
                  <th>工號</th>
                  <th>班別</th>
          <th>站點</th>
                  <th>時間</th>
              </tr>
          </tfoot>  
     </table>
  </div>
</body>
</html>

使用Javascript:

$(document).ready(function() {
       $('#example').dataTable( {
           "bProcessing": true,
           "sAjaxSource": "data.php"
       } );
   } );    

</script>
<script type="text/javascript">
    // For demo to fit into DataTables site builder...
    $('#example')
           .removeClass( 'display' );
            .addClass('table table-striped table-bordered');
</script>

PHP:

<?php
$db = new PDO("oci:dbname=mfdm10", "f10mfg",'demon');
$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);  // 設置為警告模式
$rs = $db->prepare("select a.empid,a.shift,a.station,a.infab_time from ut_msc_newcoming a where rownum <= :num"); // SQL 需要修改
$rs->bindValue(':num', 26);
$rs->execute();
while($row=$rs->fetch()){       
    $data[]=  array(
        $row[0],
        $row[1],
        $row[2],
        $row[3]
              );
    }

/* $output = array(
        "sEcho" => 1,
        "iTotalRecords" => count($row),
        "iTotalDisplayRecords" => count($row),
        "aaData" => $data
    );  */
    $response = array();
    $response['success'] = true;
    $response['aaData'] = $data;
    echo json_encode( $response );

    //異常
    function fatal($msg)
    {
        echo json_encode(array(
            "error" => $msg
        ));
        exit(0);
    }

?>

添加我從控制台網絡返回的json

 <!DOCTYPE html> <!-- To change this license header, choose License Headers in Project Properties. To change this template file, choose Tools | Templates and open the template in the editor. --> <html> <head> <meta charset="GBK"> <title></title> </head> <body> {"success":true,"aaData":[["086671","NB","MSC-1","09-APR-15"],["086673","DB","MSC-2","09-APR-15"],["086678","DA","MSC-1","10-APR-15"],["086682","DA","MSC-1","10-APR-15"],["086683","NA","MSC-1","10-APR-15"],["086491","NA","MSC-2","25-MAR-15"],["086686","DA","MSC-1","10-APR-15"],["086688","DA","MSC-2","10-APR-15"],["086690","NA","MSC-2","10-APR-15"],["086496","DA","MSC-1","25-MAR-15"],["086685","NB","MSC-1","09-APR-15"],["086848","NA","MSC-2","22-APR-15"],["086516","NA","MSC-1","22-APR-15"],["086523","DA","MSC-1","22-APR-15"],["086839","DA","MSC-2","22-APR-15"],["086849","DA","MSC-1","22-APR-15"],["086528","NB","MSC-1","24-APR-15"],["086526","NB","MSC-1","27-MAR-15"],["086478","DA","MSC-1","25-MAR-15"],["086482","DB","MSC-1","27-MAR-15"],["086832","NB","MSC-1","24-APR-15"],["086840","DB","MSC-2","24-APR-15"],["086842","NB","MSC-2","24-APR-15"],["086828","DB","MSC-1","24-APR-15"],["086987","NB","MSC-1","07-MAY-15"],["086991","DB","MSC-2","07-MAY-15"]]} </body> </html> 

我的原始json返回了,有什么錯誤嗎?

文檔的此頁面上,它指出以下內容:

服務器回復

作為對DataTables向服務器發出的每個信息請求的答復,它希望獲得具有以下參數的格式正確的JSON對象。

在此處輸入圖片說明

似乎您沒有設置這些變量,這可能是錯誤消息“警告:表id = example-無效的JSON響應”作為您的JSON的原因,而有效的JSON並不是與之相關的有效的“ JSON響應”數據表的期望。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM