【问题标题】:Bootstrap Table json from ajax来自ajax的引导表json
【发布时间】:2016-01-19 18:03:06
【问题描述】:

我对 ajax 和引导表有疑问。 我有一个用这种方法调用的 ajax JSON:

$(document).ready(function(){

  $.ajax({
       url: 'php/process.php?method=fetchdata',
       dataType: 'json',
       success: function(data) {
           $('#clienti').bootstrapTable({
              data: data
           });
       },
       error: function(e) {
           console.log(e.responseText);
       }
    });
 });

我的 JSON 看起来正确,但表格没有显示任何记录。我做错了什么?

这里也是表定义

<table data-toggle="table" class="display table table-bordered" id="clienti">
  <thead>
    <tr>
      <th>Nome</th>
      <th>Cognome</th>
      <th>Data Nascita</th>
      <th>Provincia</th>
      <th>Comune</th>
      <th>CAP</th>
      <th>Indirizzo</th>
      <th>Fisso</th>
      <th>Cellulare</th>
      <th>Note</th>
    </tr>
  </thead>

</table>

这也是返回的json的一部分

[{"Nome":"","Cognome":"","DataN":"0000-00-00","Provincia":"","Comune":"","CAP":"","Indirizzo":"","Fisso":"","Mobile":"","Note":""},{"Nome":"Federico","Cognome":"Lupieri","DataN":"2015-09-16","Provincia":"","Comune":"","CAP":"34170","Indirizzo":"Via Ascoli 1","Fisso":"00112233445566","Mobile":"00112233445566","Note":"Vediamo se funziona questo"},

【问题讨论】:

  • bootstrapTable() 是做什么的?可以提供代码吗?
  • 这里似乎是一个构造函数wenzhixin.net.cn/p/bootstrap-table/docs/getting-started.html 抱歉,我不能更具体,但这个类对我来说很新 =/
  • 您的控制台中没有错误? (jQuery 等)
  • 什么都没有。我也使用 firebug,在控制台中我只能看到调用的 json,但仅此而已
  • 你能从成功函数中发布data 的样本吗?

标签: javascript jquery json ajax twitter-bootstrap


【解决方案1】:

来自documentation

HTML

<table id="table"></table>

JS

$('#table').bootstrapTable({
    columns: [{
        field: 'id',
        title: 'Item ID'
    }, {
        field: 'name',
        title: 'Item Name'
    }, {
        field: 'price',
        title: 'Item Price'
    }],
    data: [{
        id: 1,
        name: 'Item 1',
        price: '$1'
    }, {
        id: 2,
        name: 'Item 2',
        price: '$2'
    }]
});

这意味着您必须指定将在 javascript 而不是 HTML 中使用的列。希望这会有所帮助

【讨论】:

  • 我看到了这个,但我可以使用我的 json 中的数据吗?现在我试试
  • 是的。在文档中定义列并用于数据使用 data : data 其中第二个 data 是来自 ajax 的成功函数的参数
  • 此代码不起作用,我不知道为什么。表格的标题没有显示,数据也没有被读取。有什么建议吗?
【解决方案2】:

检查这个Fiddle

您必须在每个th 中指定data-field,还必须删除data-toggle="table"

data-toggle="table" as documentation : 无需编写 JavaScript 即可激活引导表。在普通表上设置 data-toggle="table"。

如果您不想使用 javascript,请按如下方式处理您的表格

<table data-toggle="table" class="display table table-bordered" data-url="php/process.php?method=fetchdata">
    <thead>
        <tr>
            <th data-field="Nome">Nome</th>
            <th data-field="Cognome">Cognome</th>
            <th data-field="DataN">Data Nascita</th>
            <th data-field="Provincia">Provincia</th>
            <th data-field="Comune">Comune</th>
            <th data-field="CAP">CAP</th>
            <th data-field="Indirizzo">Indirizzo</th>
            <th data-field="Fisso">Fisso</th>
            <th data-field="Mobile">Cellulare</th>
            <th data-field="Note">Note</th>
        </tr>
    </thead>
</table>

【讨论】:

  • 我已经尝试过你的代码,但不是 data:mydata 中的 mydata 我应该放什么来读取我的 json?
  • 您拥有相同的代码,但为每个 th 添加 data-field 属性并删除 data-toggle="table"
  • 没什么变化,但我不知道为什么。在 jfiddle 中它可以工作。但在这里它仍然是白色的。我会寻找其他错误的地方
  • data-toggle="table" 今天浪费了我的 6 小时 24 分钟。
  • 在 jsfiddle 中,我在 DevTools 中看到了 404 错误。在控制台中有一条消息,“使用 /echo/json 的 POST 方法,请参阅 doc.jsfiddle.net/use/echo.html”。因此,要让 jsfiddle 工作,只需将 method: 'POST' 添加到 ajax 请求对象即可。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多