无法正确使用 jQuery 在 HTML table 中打印 JSON 响应

Not able to print JSON Response in HTML table properly using jQuery

我编写了以下代码用于在 HTML 页面中打印 JSON。

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
  $.getJSON("http://localhost:8080/json",function(result){
    $.each(result, function(i, field){
      $("tr").append(field + " ");
    });
  });
});
</script>
</head>
<body>
  <table id="table">
    <tr>
      <th>market</th>
      <th>buy</th>
      <th>sell</th>
      <th>currency</th>
      <th>volume</th>
    </tr>
  </table>
  <div></div>
</body>
</html>

我能够打印 JSON 响应值,但无法在 table 中正确打印它们。

JSON 响应格式:

{
  "market": 1309480,
  "buy": 1309480,
  "sell": 1280017,
  "currency": "INR",
  "volume": 2253.4518854
}

目前Table的样子:

您需要 <td> 标签来显示 table 中的内容。 <th> 是一个 table header 标签。

试试下面的方法:

$.getJSON("http://localhost:8080/json",function(result){
        var tr = '<tr>';  //create tr tag 
        $.each(result, function(i, field){
            tr += '<td>' + field +'</td>';  //loop through the result and create <td>
        });
        tr += '</tr>';  //close tr tag
        $('#table').append(tr);  // append it to table
}

此外,我很确定您可能需要在多个列中使用此功能(即,如果您的结果是多个)。为此,您需要使用 2 个循环。试试看。创建 fiddle 以供参考:https://jsfiddle.net/bipen/3prfj474/ ;)

您可以在

中插入标签<td>
$("tr").append(field + " ");

像这样:

$("tr").append("<td>" + field + "</td>");

给你一个解决方案

var result = {
  "market": 1309480,
  "buy": 1309480,
  "sell": 1280017,
  "currency": "INR",
  "volume": 2253.4518854
};

//$.getJSON("http://localhost:8080/json",function(result){
  $('#table').append('<tr/>');
  $.each(result, function(i, field){
    $('#table').find('tr:last').append('<td>' + field + '</td>');    
  });
//});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="table">
  <tr>
    <th>market</th>
    <th>buy</th>
    <th>sell</th>
    <th>currency</th>
    <th>volume</th>
  </tr>
</table>
<div></div>

我刚刚注释掉了 AJAX 调用,请取消注释并删除结果变量。

首先将 tr 附加到 table,然后使用 jQuery last 选择器获取最后附加的 tr,并将 table 附加到 td 数据。

希望对您有所帮助。