der henry: node express und pug

Beitrag lesen

Hallo,

ich habe das erste mal pug/jade eingesetzt. Hier habe ich ein pug/jade template in dem Javascriptcode steht. Das Template wird über Express/Render mit einer Tabelle erweitert. Der Javascriptcode funktioniert aber nur teilweise bzw. bis zu einer Stelle alert("Bis hierher funktioniert der Javascriptcode");

Was mir noch aufgefallen ist, nach dem </style> kommt sofort </html> danach kommt noch html-code. Dies sollte doch überhaupt nicht sein. </html> sollte doch nach dem </body> kommen.

Template

html(lang='de')  
    head
        <meta charset="UTF-8">
        title= "Statusmonitor"

    style.
        table {
                table-layout:fixed;
                position:absolute;
                border-collapse:collapse;
                border:2px solid #000000;
                border-collapse:separate;
                border-spacing:2px;
                }
        th { 
            font-family:verdana,Arial;
            font-size:16pt;
            border:1px solid #000000;
            background-color:#6DCEEE;
            text-align:center;
            padding: 10px;
            }
        td { 
            font-size:14pt;
            border:1px solid #000000;
            text-align:left;
            padding: 10px;
            }
        tr:hover { 
                    background-color:yellow;
                 }


script(src="../newlib.js" type="text/javascript")
|
|
script(language="JavaScript" type="text/javascript").

    var xmlfehler=0;
    var xmlhttp = getXmlHttpRequestObject();
    var counter = 0;
    alert("Bis hierher funktioniert der Javascriptcode");
    window.onload = refresh_server();

script(language="JavaScript" type="text/javascript").
    function refresh_server() {
        var myID= getIds();

        xmlhttp.onreadystatechange = updatePage();
        xmlhttp.open("GET","/getstring?varname=" + myID, true);
        alert("Fehler beim Abrufen der XML Daten")
        xmlhttp.send(null)}}
    
script(language="JavaScript" type="text/javascript").
    function updatePage() {
        var wert = new Array();

        if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
            var string = JSON.parse(xmlhttp.responseText);
            var i=0;
            while i < string.length {
                wert = string[i].split(':');
                document.getElementById(wert[0]).firstChild.nodeValue = wert[1];
                ++i;
            }
            xmlfehler=0;
            window.setTimeout("refresh_server();", 500);
        else 
            if (xmlfehler < 3) 
            ++xmlfehler;
            else 
            xmlfehler=0;
            alert("Fehler beim Abrufen der XML Daten"); 
        }


body
    div!=tabelle
  

Nach Ausgabe von Express-Render steht in der html-Seite

<html lang="de"> <head><meta charset="UTF-8"><title>Statusmonitor</title></head><style>table {
        table-layout:fixed;
        position:absolute;
        border-collapse:collapse;
        border:2px solid #000000;
        border-collapse:separate;
        border-spacing:2px;
        }
th { 
    font-family:verdana,Arial;
    font-size:16pt;
    border:1px solid #000000;
    background-color:#6DCEEE;
    text-align:center;
    padding: 10px;
    }
td { 
    font-size:14pt;
    border:1px solid #000000;
    text-align:left;
    padding: 10px;
    }
tr:hover { 
            background-color:yellow;
         }

</style></html><script src="../newlib.js" type="text/javascript"></script>
<script language="JavaScript" type="text/javascript">var xmlfehler=0;
var xmlhttp = getXmlHttpRequestObject();
var counter = 0;
alert("Bis hierher funktioniert der Javascriptcode");
window.onload = refresh_server();
</script><script language="JavaScript" type="text/javascript">function refresh_server() {
    var myID= getIds();

    xmlhttp.onreadystatechange = updatePage();
    xmlhttp.open("GET","/getstring?varname=" + myID, true);
    alert("Fehler beim Abrufen der XML Daten")
    xmlhttp.send(null)}}
</script><script language="JavaScript" type="text/javascript">function updatePage() {
    var wert = new Array();

    if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
        var string = JSON.parse(xmlhttp.responseText);
        var i=0;
        while i < string.length {
            wert = string[i].split(':');
            document.getElementById(wert[0]).firstChild.nodeValue = wert[1];
            ++i;
        }
        xmlfehler=0;
        window.setTimeout("refresh_server();", 500);
    else 
        if (xmlfehler < 3) 
        ++xmlfehler;
        else 
        xmlfehler=0;
        alert("Fehler beim Abrufen der XML Daten"); 
    }

</script><body><div><h2>Statusmonitor</h2><table><tr><th>Variablennamen</th><th>Format</th><th>ISTwert</th></tr><tr><td>T1_byte</td><td>byte</td><td id="T1_byte">0</td></tr><tr><td>T1_drehzahl</td><td>real</td><td id="T1_drehzahl">1107644908</td></tr><tr><td>T1_genschalter_aus</td><td>bool</td><td id="T1_genschalter_aus">1</td></tr><tr><td>T1_genschalter_ein</td><td>bool</td><td id="T1_genschalter_ein">1</td></tr><tr><td>T1_gen_spannung</td><td>real</td><td id="T1_gen_spannung">6</td></tr><tr><td>T1_laufrad</td><td>real</td><td id="T1_laufrad">58461</td></tr><tr><td>T1_leistung</td><td>real</td><td id="T1_leistung">5</td></tr><tr><td>T1_leitrad</td><td>real</td><td id="T1_leitrad">116922</td></tr></table></div></body>

Vielen Dank der henry