我正在尝试从虚拟机中获取有错误的表,我使用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);
};
});
});
答案 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);
}