在javascript / JQuery

时间:2017-11-16 20:33:23

标签: javascript jquery json

我使用以下函数

在UI上获取JSON输出
$("#idvar").click(function(){
  var d1 = document.getElementById("dText");
  var d2 = document.getElementById("dJson");
  var mytext = d1.textContent;
  alert(mytext);
  $.post(
    url,
    {doc: mytext},
    function(data) {
      console.log(Object.keys(data).length);
      d2.textContent = data;
    }
  );
});

其中d1显示上传的输入文档,d2表示在模型上处理文档时生成的输出。目前,我正在获得json格式。我尝试在这些帖子中实施代码(Parsing JSON objects for HTML tableConvert json data to a html table),但我在文本区域中获得了[object, Object]。有没有办法将json转换为表。

在URL文本区域中我得到

 [{"tag":"a1","relevance":0.5},
  {"tag":"a2","relevance":0.3},
  {"tag":"c3","relevance":0.2},{"tag":"d3,
   ...

相反,我希望得到

enter image description here

1 个答案:

答案 0 :(得分:1)

您应该遍历数据并以表格格式打印。首先,确保标识为dJson的元素是<table>元素。然后,您可以将success回调更改为:

function(data) {
  console.log(Object.keys(data).length);
  var html = '<tr><th>Tag</th><th>Relevance</th></tr>';
  for(var i=0; i<data.length; i++){
    html +=
      '<tr>' +
        '<td>' +
          data[i].tag +
        '</td>' +
        '<td>' +
          data[i].relevance +
        '</td>' +
      '</tr>'
    ;
  }
  d2.innerHTML = html;
}

这里有一个工作示例(没有$.post调用):https://jsfiddle.net/cLbqmwa4/