0

利用bootstrab table 加载一个json 文件,发现不成功,json文件的格式是嵌套的,貌似默认不支持,请问如何解决?

JS代码如下:

$(document).ready(function() {
    
    $('#query').click(function(e){
    var tm = "xxx";
    var query = $('#queryString').val();
        var slang = $('#slanguage').val();
        var tlang = $('#tlanguage').val();
    var maxreturn = "100";
    $.ajax({
        url:"http://xxxx",
        data: JSON.stringify({"tmName":tm, "query":query, "sourceLanguage":slang, "targetLanguage":tlang, "maxReturn": maxreturn}),
        type: "post",
        contentType: "application/json"
    }).then(function(data, status, jqXHR) {
      
       $("#table").bootstrapTable({
        data: data
        
       });

    });
});
});

REST Json 返回

{"tmEntryArray":[{"sourceStr":"xxx","targetStr":"xxx"},{"sourceStr":"xxx","targetStr":"xxx"},{"sourceStr":"xxxxx","targetStr":"xxxx"}]}

表格的data-field已经设置于json一致,但无法加载。我手动测试将json
文件修改如下,可以加载。

[{"sourceStr":"xxx","targetStr":"xxx"},{"sourceStr":"xxx","targetStr":"xxx"},{"sourceStr":"xxxxx","targetStr":"xxxx"}]

由于json是REST API返回的结果,我无法修改,相信是table哪里设置文件,希望有人可以帮助我。

查看全部 3 个回答

0

2楼的方法是可行的,后来发现其根源问题是,在加载数据前,需要调用一个destroy方法删除bootstrapTable,不知道这是什么原因,希望有大神可以解答。

$("#table").bootstrapTable({
        $("#table").bootstrapTable('destroy');
        data: data.tmEntryArray        
});

推荐答案

0

已采纳
$("#table").bootstrapTable({
        data: data.tmEntryArray        
});