Javascript 节点res.write()和fs.readFile

Javascript 节点res.write()和fs.readFile,javascript,html,node.js,Javascript,Html,Node.js,全部。 有没有办法动态添加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='"

全部。 有没有办法动态添加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是更好的方法吗

多次调用write没有什么错。下面是上面的说明:

这将发送响应正文的一大块。此方法可多次调用,以提供身体的连续部分

重点补充

您的写入未输出正确的HTML。我建议如下:

res.write("<video src='/show"+ i + "' autoplay />");

在问题代码中,正斜杠出现在src属性和autoplay之间。这绝对是错误的。如果我看一下您的代码在Firefox中会产生什么,Firefox会报告由于斜杠位置而导致的错误。

动态构建标记,并在最后输出它

var current = 3,
    markup  = '';

for(var i=1; i <= current; i++){
     markup += "<video src='" + '/show'+ i + "' / autoplay></video>");
}

res.send(markup);

非常感谢。是res.send还是res.write?我已经试过了,这个解决方案使一个视频标签嵌入另一个视频标签。@user2592038-这是因为视频标签没有关闭。编辑了答案。