为什么DataTable不显示我的表

Why is DataTable not displaying my table

本文关键字:我的 显示 DataTable 为什么      更新时间:2023-09-26

我有一个包含2个条目的对象数组。DataTable现在给出错误,但不会显示表。我有类似的结构,似乎工作得很好,但出于某种原因,这一个没有:HTML:

<form id=rparesponses class="hideme rpadealers">
    <table id="responseTbl" class="table table-striped table-border">
    <thead>
     <tr>
      <th>Dealer Email</th>
      <th>MesgID</th>
      <th>Name</th>
      <th>Description</th>
      <th>Price</th>
      <th>Accept CC</th>
      <th>Delivery</th>
      <th>Rating</th>
      <th>Place Order</th>
    </tr>
     </thead>
   </table>
 </form>
JQuery:

function displayResponses(responses)
         {
         //  var count=rpaResponses.length;
          alert("responses.name: "+responses[0].name);
           $('#responseTbl').DataTable({
            data:    responses,
                 'sort': false,
                 'searching': false,
                 'paging': true,
            columns:
             [
              {'data': 'email'},
              {'data': 'mesgid'},
              {'data': 'name'},
              {'data': 'description'},               
              {'data': 'price'},
              {'data': 'ccard'},
              {'data': 'delivery'},
              {'data': 'rating'},
              {'data': 'order'}
             ],
            columnDefs:
             [
              {'targets': 6,
                'render': function(data,type,full,meta)
                {
                 var pform='<form action="javascript: this.preventDefault"><select name="deliver"><option value="Pickup">Pickup</option><option value="Delivery">Delivery</option></select></form>';
                 if(data)
                   return data;
                 else return pform;
                  }
              },
              {'targets': 8,
                  'render': function(data,type,full,meta)
                  {
                  return '<button id="order" type="" class="btn btn-primary btn-details">Order</button>';
                  }
               }
            ]
           });
         }  //end of display responses

调用displayResponses

socket.on('rparesponse', function(data)
          {
           var rpaResponses=JSON.parse(data);
          alert("rpaResponses.length: "+rpaResponses.length);
          alert("rpaResponses.name: "+rpaResponses[0].name);
        if(rpaResponses.length>0)
             localStorage.messageid="";
          displayResponses(rpaResponses);
           $('#dealers').hide();
           $('#rpaResponses').show();
           $('#rpaview').hide();
           $('#rpawait').hide();

          });

使用Devtools,我可以确认传递的参数"responses"是一个对象数组。

 rpaResponses: Array[2]
    0
    :
    Object
    ccard
    :
    "true"
    delivery
    :
    "false"
    description
    :
    "Fan Belt for BMW-x5 2012 model e"
    email
    :
    "bert123@mymail.com"
    mesgid
    :
    "ccc89e"
    name
    :
    "Peters Auto "
    order
    :
    false
    price
    :
    "6000"
    rating
    :
    "5"
    __proto__
    :
    Object
    1
    :
    Object
    ccard
    :
    "true"
    delivery
    :
    "false"
    description
    :
    "Fan Belt for BMW-x5 2012 model e"
    email
    :
    "peter123@gmail.com"
    mesgid
    :
    "ccc89e"
    name
    :
    "Peters Auto "
    order
    :
    false
    price
    :
    "5000"
    rating
    :
    "5"
    __proto__
    :
    Object
    length
    :
    2

我使用Chrome 54.28…Firefox也有同样的问题。我使用nodejs, socketio, javascript和jquery.....服务器端是ok的,它发送表通过套接字ok…JSON。字符串化后的JSON。到达后解析。我也检查了之前关于这个主题的SO个问题…没有一个适用。

谁能告诉我我的错误是什么?....也许我的眼睛要…我说过我是新手吗?我是。

语法错误…改变(# rpaResponse美元)。Show to $(# rrpresponse). Show .