当前位置: 首页 > 面试题库 >

将JSON输出到html表

和和裕
2023-03-14
问题内容

我在将选项卡中的JSON输出到HTML表时遇到了麻烦(这是javascript /
jQuery夜间课程分配的一部分)。请有人看看,并建议我要对表格格式的输出进行哪些修改?我收到成功警报,但表未填充。

谢谢。

// Tabs
$(function() {
    $( "#tabs" ).tabs();
});

// Spanish 
$(document).ready(function(){
    $.ajax({ 
        url:   "http://learn.cf.ac.uk/webstudent/sem5tl/javascript/assignments/spanish.php", // path to file
        dataType: 'jsonp',
        jsonp: 'callback',
        jsonpCallback: 'jsonpCallback',
        success: function () {
            alert('success');
        }               
    });
});

function drawTable(data) {
    for (var i = 0; i < data.length; i++) {
        drawRow(data[i]);
    }
}

function drawRow(rowData) {
    var row = $("<tr />")
    $("#table").append(row);
    row.append($("<td>" + rowData.course + "</td>"));
    row.append($("<td>" + rowData.name + "</td>"));
    row.append($("<td>" + rowData.price + "</td>"));
}

和HTML:

<div id="tabs">
    <ol start="50">
        <li>
            <a href="#tab-1">Italian</a>
        </li>
        <li>
            <a href="#tab-2">Spanish</a>
        </li>
    </ol>

    <p id="tab-1"></p>
    <p id="tab-2">
        <table id='table'>
            <thead>
                <tr>
                    <th>Course</th>
                    <th>Name</th>
                    <th>Price</th>
                </tr>
            </thead>
            <tbody></tbody>
        </table>
    </p>
    <p id="tab-3"></p>
</div>

问题答案:

代码的主要问题是,在AJAX请求成功完成后,您没有调用任何函数。您至少需要致电drawTable()才能填充数据。

但是,您可以对代码进行一些改进。首先,删除jsonp: 'callback'。这是默认值,并且在您提供时也是多余的jsonpCallback。然后,您也可以更改jsonpCallback'drawTable'。这消除了对success处理程序功能的需求,意味着所有请求数据都将直接提供给您的drawTable()功能。最后,与其在内存中创建DOM元素并在循环的每次迭代中附加值,不如使用表的所有HTML构建单个字符串并在完成时附加一次,这样要快得多。

话虽如此,请尝试以下操作:

$(document).ready(function() {

  $.ajax({

    url: "http://learn.cf.ac.uk/webstudent/sem5tl/javascript/assignments/spanish.php",

    dataType: 'jsonp',

    jsonpCallback: 'drawTable'

  });

});



function drawTable(data) {

  var html = '';

  for (var i = 0; i < data.length; i++) {

    html += '<tr><td>' + data[i].course + '</td><td>' + data[i].name + '</td><td>' + data[i].price + '</td></tr>';

  }

  $('#table tbody').append(html);

}


<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>



<table id="table">

  <thead>

    <tr>

      <th>Course</th>

      <th>Name</th>

      <th>Price</th>

    </tr>

  </thead>

  <tbody></tbody>

</table>

请注意,我将此处显示的HTML缩小为仅相关部分。



 类似资料:
  • 问题内容: 有什么办法可以将bash输出转换为html吗?例如,如果我在bash一些彩色输出(类似HTOP),我怎样才能将其转换为HTML标签......(是这样的:) 问题答案: 还有一些类似的工具,可以从纯文本(例如源文件)生成彩色的html。 两者都可以在这里找到。

  • 问题内容: 我正在尝试将HTML映射到结构完整的JSON中。那里有没有这样做的库,还是我需要编写自己的库?我想如果没有html2json库,我可以以xml2json库作为开始。毕竟,html只是xml的一种变体,对吗? 更新: 好的,我应该举一个例子。我想做的是以下内容。解析html字符串: 变成这样的json对象: 注意 :如果您没有注意到标签,我正在寻找Javascript解决方案 问题答案:

  • 问题内容: 我有这个模板: 呈现为: 如果我将其发送到http.ResponseWriter,则输出文本将转义。 我怎么能这样写一个json? 问题答案: 您不应该使用Go的模板引擎(也不是)来生成JSON输出,因为模板引擎不了解JSON语法和规则(转义)。 而是使用包来生成JSON。您可以用来直接将响应写入/流式传输到,例如。 例: 输出(在Go Playground上尝试):

  • 我有一个包含3000多条记录的数据框架,其中包括每次观测的经纬度坐标。我想从每一组坐标中得到国家和州或省。 或者,一个更好的解决我的问题,获得空间信息是赞赏的! 下面是我的代码:

  • null 如何克服这些缺点并使IPython输出更具交互性?

  • 问题内容: 假设我有一个处理待办事项清单的应用程序。清单中已完成和未完成的项目。现在,我想向列表对象添加两个虚拟属性。列表中已完成和未完成项目的计数。我还需要将这些显示在json输出中。 我的模型中有两种方法可以提取未完成/已完成的项目: 那么,如何在json输出中获得这两种方法的计数? 我正在使用Rails 3.1 问题答案: Rails中对象的序列化包括两个步骤: 首先,调用将对象转换为简化的