Daten auf Statischen Webserver senden
Daniel Z.
- javascript
Hallo Zurzeit arbeite ich an einem Projekt mit dem ich über den Webbrowser eine Gebäudesteuerung bedienen möchte. Dafür habe ich einen kleinen Statischen Webserver gebaut. Ich möchte vom Webbrowser daten an meinen Webserver zurücksenden, dafür habe ich eine Webseite geschrieben die ich mal in den Anhang gelegt hab. Um die Daten zu senden habe ich eine Javascript funktion eingebaut die zum Senden meiner Schaltbefehle benötigen möchte. Ich bin leider noch ein ziemlicher neuling was das Schreiben von Websites angeht und währe froh um eure hilfe. Nun mein Problem wenn ich nun durch das Drücken eines Links die Funktion aufrufe kommt die Meldung "Fehler auf der Seite" im Webbrowser. Was habe ich falsch gemacht? Gruss Daniel
Ich hab hier mal noch die Seite angehängt
<html>
<head><title>EIB/KNX over LAN</title>
<link rel="javascript" type="text/javascript">
<script type="text/javascript">
function send(befehl)
{
var OUT = document.createElement("INPUT");
OUT.type = "hidde";
OUT.value = befehl;
OUT.name = "OUT";
document.getElementById("hide").appendChild(OUT);
var SUB = document.createElement("INPUT");
SUB.type = "hidden";
SUB.value = "x";
SUB.name = "SUB";
document.getElementById("hide").appendChild(SUB);
document.getElementById("hide").submit();
}
</script>
<body bgcolor="#000000"> {
background-repeat: no-repeat;
}
<table border="0" bgcolor="#000000">
<tr>
<td background="bild.jpg" align="center" colspan="8" rowspan="2" width="800" height="200">
<font color="#bfbfbf" face="Verdana" size="4"></font>
</td>
</tr>
<tr>
</tr>
<tr>
<td align="center" colspan="8" rowspan="5" width="800" height="500">
<table border="0">
<tr>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
</tr>
<tr>
<td width="50" height="50"></td>
<td width="50" height="50"><a href="javascript:send('A')"><img width="50" height="50" border="0" src="ein.jpg"></a></td>
<td width="50" height="50"></td>
<td width="50" height="50"><a href="javascript:send('B')"><img width="50" height="50" border="0" src="aus.jpg"></a></td>
<td width="50" height="50"></td>
<td colspan="4" rowspan="1"width="200" height="50"><font size="2" face="Verdana" color="#FFFFFF">Licht Küche</font></td>
<td width="50" height="50"></td>
<td colspan="2" rowspan="1" width="100" height="50"><font size="2" face="Verdana" color="#FFFFFF">Storen Büro</font></td>
<td width="50" height="50"><a href="javascript:send('C')"><img width="50" height="50" border="0" src="auf.jpg"></a></td>
<td width="50" height="50"></td>
<td width="50" height="50"><a href="javascript:send('D')"><img width="50" height="50" border="0" src="ab.jpg"></a></td>
</tr>
</tr>
<tr>
<td width="50" height="50"></td>
<td width="50" height="50"><a href="javascript:send('E')"><img width="50" height="50" border="0" src="ein.jpg"></a></td>
<td width="50" height="50"></td>
<td width="50" height="50"><a href="javascript:send('F')"><img width="50" height="50" border="0" src="aus.jpg"></a></td>
<td width="50" height="50"></td>
<td colspan="4" rowspan="1"width="200" height="50"><font size="2" face="Verdana" color="#FFFFFF">Licht Wohnen</font></td>
<td width="50" height="50"></td>
<td width="50" height="50"><font size="2" face="Verdana" color="#FFFFFF">Sonnenstore</font></td>
<td width="50" height="50"></td>
<td width="50" height="50"><a href="javascript:send('G')"><img width="50" height="50" border="0" src="auf.jpg"></a></td>
<td width="50" height="50"></td>
<td width="50" height="50"><a href="javascript:send('H')"><img width="50" height="50" border="0" src="ab.jpg"></a></td>
</tr>
<tr>
<td width="50" height="50"></td>
<td width="50" height="50"><a href="javascript:send('I')"><img width="50" height="50" border="0" src="ein.jpg"></a></td>
<td width="50" height="50"></td>
<td width="50" height="50"><a href="javascript:send('J')"><img width="50" height="50" border="0" src="aus.jpg"></a></td>
<td width="50" height="50"></td>
<td colspan="4" rowspan="1"width="200" height="50"><font size="2" face="Verdana" color="#FFFFFF">Licht Büro</font></td>
<td width="50" height="50"></td>
<td width="50" height="50"><font size="2" face="Verdana" color="#FFFFFF">Dachfenster</font></td>
<td width="50" height="50"></td>
<td width="50" height="50"><a href="javascript:send('K')"><img width="50" height="50" border="0" src="auf.jpg"></a></td>
<td width="50" height="50"></td>
<td width="50" height="50"><a href="javascript:send('L')"><img width="50" height="50" border="0" src="ab.jpg"></a></td>
</tr>
<tr>
<td width="50" height="50"></td>
<td width="50" height="50"><a href="javascript:send('M')"><img width="50" height="50" border="0" src="ein.jpg"></a></td>
<td width="50" height="50"></td>
<td width="50" height="50"><a href="javascript:send('N')"><img width="50" height="50" border="0" src="aus.jpg"></a></td>
<td width="50" height="50"></td>
<td colspan="4" rowspan="1"width="200" height="50"><font size="2" face="Verdana" color="#FFFFFF">Licht Schreibtisch</font></td>
<td width="50" height="50"></td>
<td colspan="2" rowspan="1"width="100" height="50"><font size="2" face="Verdana" color="#FFFFFF">Server Büro</font></td>
<td width="50" height="50"><a href="javascript:send('O')"><img width="50" height="50" border="0" src="ein.jpg"></a></td>
</tr>
<tr>
<td width="50" height="50"></td>
<td width="50" height="50"><a href="javascript:send('P')"><img width="50" height="50" border="0" src="ein.jpg"></a></td>
<td width="50" height="50"></td>
<td width="50" height="50"><a href="javascript:send('Q')"><img width="50" height="50" border="0" src="aus.jpg"></a></td>
<td width="50" height="50"></td>
<td colspan="4" rowspan="1"width="200" height="50"><font size="2" face="Verdana" color="#FFFFFF">Licht Aussen</font></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
</tr>
<tr>
<td width="50" height="50"></td>
<td width="50" height="50"><a href="javascript:send('R')"><img width="50" height="50" border="0" src="ein.jpg"></a></td>
<td width="50" height="50"></td>
<td width="50" height="50"><a href="javascript:send('S')"><img width="50" height="50" border="0" src="aus.jpg"></a></td>
<td width="50" height="50"></td>
<td colspan="4" rowspan="1"width="200" height="50"><font size="2" face="Verdana" color="#FFFFFF">Licht Zentral</font></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
</tr>
<tr>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td colspan="4" rowspan="1"width="200" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
</tr>
<tr>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td colspan="4" rowspan="1"width="200" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
</tr>
<tr>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
<td width="50" height="50"></td>
</tr>
</table>
</table>
</td>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
</tr>
</table>
</body>
</html>
document.getElementById("hide").appendChild(OUT);
ein Element mit der ID hide gibts nicht
Hallo gast42
Okey habs gesehn, danke. Hab die funktion in nem Beispiel abgeschaut und dort haben Sies so gemacht. Was muss ich der Funktion dann übergeben? Ich will "nur" zurück an meinen Webserver senden.
Gruss Daniel
Hab die funktion in nem Beispiel abgeschaut und dort haben Sies so gemacht.
erfolgreich? Klingt nämlich sehr sehr umständlich.
Was muss ich der Funktion dann übergeben? Ich will "nur" zurück an meinen Webserver senden.
ersetze:
<a href="javascript:send('A')" ...
durch
<a href="http://www.example.org/steuerung.c?OUT=A&SUB=x" ...
(wobei statt http://www.example.org/steuerung.c die Adresse deines Steuerungsscriptes stehen muss)
Hallo
Zurzeit arbeite ich an einem Projekt mit dem ich über den Webbrowser eine Gebäudesteuerung bedienen möchte. Dafür habe ich einen kleinen Statischen Webserver gebaut.
Hochinteressant! Wie hast du denn diesen Webserver programmiert? In welcher Sprache ist dieser denn geschrieben? Ich hatte vor jahren mal einen in Python gebastelt. War aber nur ein sehr kleiner Webserver, der fast nichts konnte.
Hallo Dummo
Habe alles in C geschrieben und auf einen uC Programmiert das ganze hängt über einem Ethernet Converter am LAN. Auch dieser bringt keine riesenleistungen, er dient lediglich dazu eine Benutzeroberfläche zu laden über die ein EIB/KNX Bussystem angesteuert wird. desswegen benötige ch die Rückgabewerte.
Gruss daniel
Hallo Daniel,
kann dein Server denn Werte, die per POST oder GET übertragen werden, verarbeiten? Dann benötigst du im HTML ein Formular, mit dem du die Daten an den Server senden kannst. Alternativ kannst du das auch mit AJAX realisieren. Aber da du Anfänger bist, lass das Javascript erst mal liegen und lerne, wie man mit HTML-Formularen umgeht. Ein weiteres Stichwort ist CGI.
Gruß, Jürgen
Hallo Jürgen
Das wäre auch ne möglichkeit. Ich kann die Antwort auch vom befehl GET abfangen. Ich les mich mal rein.
Gruss Daniel
Wenn du mit nem AVR arbeitest, kannst du dir mal "Ethersex" anschaun, der kann alles, was für dein Anliegen nötig ist und der Code kann dir evtl. Anregungen geben für dein eigenes Projekt.