节点res.write()和fs.readFile

时间:2013-12-08 13:59:37

标签: 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='" + '/show'+ i + "' / autoplay>");
        }

它没有用,屏幕显示黑匣子。

当我想在js中动态添加一些标签时,我通常在下面做什么,但是使用res.write,我不知道该怎么做:

for(var m =0; m< data.length; m++){
         document.getElementById('messages2').innerHTML += data[m] + "," + "<br/>";
    }

fs.readFile是更好的方法吗?

2 个答案:

答案 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);