2015-08-28 224 views
0

我使用的node.js所以一些操作後,我用的是代碼:腳本不執行

res.sendFile(path.join(__dirname+'\\showPlayers.html')); 

顯示此HTML頁面。該showPlayers.html的代碼是:

<html> 
<body> 
<table id="giocatori"> 
<thead> 
    <tr> 
     <th>Giocatore</th> 
     <th>Ruolo</th> 
     <th>Costo</th> 
     <th>Squadra</th> 
     <th>Operazione</th> 
    </tr> 
</thead> 

</table> 

</body> 
<script type="text/javascript"> 
console.log("BAU"); 
var table = document.getElementById("giocatori"); 

for(var i=0;i<2; i++){ 
    var row = table.insertRow(i); 
    var cell1 = row.insertCell(0); 
    var cell2 = row.insertCell(1); 
    var cell3=row.insertCell(2); 
    var cell4=row.insertCell(3); 
    var cell5=row.insertCell(4); 
    cell1.innerHTML = "Mario"; 
    cell2.innerHTML = "DIF"; 
    cell3.innerHTML = "10"; 
    cell4.innerHTML = "Juve"; 
    cell5.innerHTML = '<form method="post" action="/giocatore"> <input type="submit" name="a" value="Acquista" /> <input type="submit" name="b" value="Cancella" /> </form>'; 

} 
</script> 
</html> 

在腳本中有一個「console.log」和Node.js的程序時,我重定向到這個頁面我只看到THEAD的表,沒有從控制檯無輸出。如果我點擊「showPlayers.html」,我運行的頁面顯示正確。任何人都可以幫助我?

+3

你'''標籤之前''標籤。 – Lucky

+1

雖然上面的人說的是真的,但這不太可能是問題所在。 *編輯:*沒有,在Chrome,Firefox,IE11上檢查,他們都很高興地運行腳本,正如所料;瀏覽器*真的*寬容無效的標記。 –

回答

0

您的JavaScript運作正常。 BAU文本確實進入控制檯日誌 - 但您必須注意它在哪裏運行。它在瀏覽器中處於JavaScript狀態,因此控制檯記錄的內容是瀏覽器控制檯日誌,而不是node.js控制檯日誌。例如,如果您使用的是FireFox,則可以使用Tools/Web Developer/Browser Console查看JavaScript的輸出。在我的Mac,它顯示了你的HTML以下,可見這來了,正確的,從第18行中的HTML文件的第一行:
BAU text showing up in Browser Console

當我執行你的腳本,我看到下面我瀏覽器。你會看到你的html輸出在左邊,BAU輸出到右邊的瀏覽器控制檯。
Image showing html console output

運行從node.js的同一個文件,我得到這個輸出在Firefox: image running node.js
你確定你要尋找的「BAU」的文字出現在Firefox的控制檯窗口,而不是node.js窗口?

+0

你看到我用javascript創建的原始材料嗎? – Micheal

+0

是的。如果您點擊「showPlayes.hmtl」,它可以正常工作。問題是如果我嘗試從node.js服務器啓動hmtl頁面! – Micheal

+0

Michael,把它作爲一個node.js應用程序使用ejs作爲渲染引擎,它工作得很好。 「BAU」確實顯示,但它在瀏覽器控制檯窗口中,而不是node.js終端窗口中。我正在運行節點v 0.10.40和ejs v 2.3.3。什麼是你的視圖引擎使用,你是最新的版本?在OSX上使用FireFox V 40.0.2和Chrome V 44.0.2403.157和Safari 8.0.8進行測試,並且在html文件由node.js提供時,請參閱每個瀏覽器的控制檯日誌窗口中顯示的BAU –