2015-08-28 159 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 –