所有。
有没有办法动态添加res.write()
?例如,视频标记源是从'/ show1','/ show2'到'/ show3'。我想在页面上显示所有这三个视频,所以我将res.write放在for循环中。
var current =3;
for(var i=1; i<= current; i++){
console.log("I am in a loop" +'/show' + i);
res.write("<video src='" + '/show'+ i + "' / autoplay>");
}
它没有用,屏幕显示黑匣子。
当我想在js中动态添加一些标签时,我通常在下面做什么,但是使用res.write,我不知道该怎么做:
for(var m =0; m< data.length; m++){
document.getElementById('messages2').innerHTML += data[m] + "," + "<br/>";
}
或fs.readFile
是更好的方法吗?
答案 0 :(得分:1)
多次调用write
没有错。这是doc:
这会发送响应主体的一大块。此方法可多次调用以提供身体的连续部位。
(强调补充。)
您的write
未输出正确的HTML。我建议像:
res.write("<video src='/show"+ i + "' autoplay />");
在问题的代码中,src
属性和autoplay
之间出现正斜杠。这绝对是错误的。如果我查看您的代码在Firefox中会产生什么,Firefox会因斜杠的位置而报告错误。
答案 1 :(得分:1)
动态构建标记,并在结尾输出
var current = 3,
markup = '';
for(var i=1; i <= current; i++){
markup += "<video src='" + '/show'+ i + "' / autoplay></video>");
}
res.send(markup);