2013-12-08 21 views
-1

全部。 有什麼方法可以動態添加res.write()?例如,視頻標籤源是從'/ show1','/ show2'到'/ show3'。我想在頁面上顯示所有這三個視頻,所以我把res.write放在for循環中。節點res.write()和fs.readFile

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是更好的方法呢?

回答

1

多次撥打write沒有任何問題。這裏是其上的doc

這發送了一個響應主體的塊。這種方法可以被稱爲多次以提供身體的連續部分。

(着重號。)

write不輸出正確的HTML。我建議是這樣的:

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

在這個問題斜槓出現了src屬性和autoplay之間的代碼。這絕對是錯誤的。如果我看看您的代碼在Firefox中會產生什麼結果,Firefox會報告由於斜槓位置而導致的錯誤。

1

構建動態的標記,並輸出在最後

var current = 3, 
    markup = ''; 

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

res.send(markup); 
+0

謝謝!!是res.send或res.write?我試過了,這個解決方案使一個視頻標籤嵌入其他視頻標籤。 – user2592038

+0

@ user2592038 - 這是因爲視頻標記未關閉。編輯答案。 – adeneo