我正在使用此函数从IndexedDb logStore读取所有信息(是的,变量设置正确)
当我调用该函数并显示结果时,我得到的只是我定义的表的前两行。 if(cursor){}代码段不会将任何输出放入表中,但alert()会显示所有信息,直到商店中没有更多数据为止。
有没有人建议让数据进入表格?
function readLog() {
// TODO: Make strings concatenate
var objectStore = db.transaction(logStore).objectStore(logStore);
objectStore.openCursor().onsuccess = function(event) {
content = '<table border="1" width="50%"><tr><td width="10%">Event ID</td><td width="10%">Timestamp</td><td width="80%">Message</td></tr>'; // Works
content += "<tr><td>Test</td><td>Test</td><td>Test</td></tr>"; // Works
var cursor = event.target.result;
if (cursor) {
content.concat("<tr><td>" + cursor.key + "</td><td>" + cursor.value.timestamp + "</td><td>" + cursor.value.message + "</td></tr>"); // Doesn't work
alert("ID: " + cursor.key + " TS: " + cursor.value.timestamp + " Message: " + cursor.value.message); // Works
cursor.continue();
}
else {
content.concat("</table>");
document.getElementById('result').innerHTML=content;
}
};
}
答案 0 :(得分:0)
concat()
返回一个由此数组组成的新数组,该数组与其他数组和/或值连接在一起。您应该编写content = content.concat(...)
之类的内容,或者像使用第一个字符串连接一样使用+=
。