更有效的方法将数据实现到表中

时间:2018-03-12 07:46:12

标签: javascript jquery

我正在尝试从虚拟机中获取有错误的表,我使用json从服务器读取数据库输出。列出一个项目很好但是如果我想为数据库的最后5个项目做这个,我会一次又一次地重复这个代码,这对我来说似乎没有任何效率。复制粘贴下面的代码似乎是不道德的:D我无法构建我需要使用的方式。功能或对象。我愿意接受建议。

编辑:复制了错误的代码块:)但结构相同,所以没有区别我猜。

    $(function() {
  $.getJSON("#myURL", function(getStressTestErrorInfo1) {
    if (getStressTestErrorInfo2[0] !== undefined) {
      var stressTestError1 = getStressTestErrorInfo1[0];
      var stressTestErrorId1 = stressTestError1.StresstestId;
      var stressTestErrorRunId1 = stressTestError1.StresstestRunId;
      var stressTestErrorName1 = stressTestError1.Name;
      var stressTestErrorStackTrace1 = stressTestError1.StackTrace;
      var stressTestErrorTimestamp1 = stressTestError1.Timestamp;
      $('#stressTestErrorId1').text(stressTestErrorId1);
      $('#stressTestErrorRunId1').text(stressTestErrorRunId1);
      $('#stressTestErrorName1').text(stressTestErrorName1);
      $('#stressTestErrorStackTrace1').text(stressTestErrorStackTrace1);
      $('#stressTestErrorTimestamp1').text(stressTestErrorTimestamp1);
    };
  });
});

2 个答案:

答案 0 :(得分:2)

不是通过访问ID向表中添加数据,而是建议根据您收到的数据长度或根据您想要的数据长度,将附加的表行动态添加到html中显示。

试试这个:

$(function () {
$.getJSON("#myURL", function (getStressTestErrorInfo1) {
    if (!getStressTestErrorInfo1) {
        var len = getStressTestErrorInfo1.length;
        var data = getStressTestErrorInfo1;
        var txt = "";
        if(len > 0){
           for(var i=0;i<len;i++){
           // dynamically generating a table-row for appending in the table.
               txt += "<tr><td>"+data[i].StresstestId + "</td><td>" +data[i]. StresstestRunId +"</td><td>" + data[i].Name + "</td><td>" + data[i].StackTrace + "</td><td>" + data[i].Timestamp + "</td></tr>" ;
                }
                if(txt != ""){
                 // #table is the selector for your table element in the html
                 $("#table").append(txt);
                }
            }
    };
  });
});

答案 1 :(得分:1)

可以通过以下方式对代码进行概括:

$(function () {
    $.getJSON("#myURL", function (getStressTestErrorInfo1) {
        if (!getStressTestErrorInfo2[0]) {
            var stressTestError1 = getStressTestErrorInfo1[0];
            updateData('stressTestErrorId1', stressTestError1.StresstestId);
            updateData('stressTestErrorRunId1', stressTestError1.StresstestRunId);
            updateData('stressTestErrorName1', stressTestError1.Name);
            updateData('stressTestErrorStackTrace1', stressTestError1.StackTrace);
            updateData('stressTestErrorTimestamp1', stressTestError1.Timestamp);
        };
    });
});

function updateData(idSelector, data) {
    $('#' + idSelector).text(data);
}