Wie kann man mit JavaScript auf eine Datenbank zugreifen?
5 Antworten
Dazu benötigst du eine serverseitige Scriptsprache wie PHP oder NodeJS. Diese erledigt den Datenbankzugriff für dich. Du musst lediglich per JavaScript den Server dazu anweisen, dies zu tun, und dann kann er dir die Antwort schicken. Es gibt dafür zwei Möglichkeiten:
- Wenn du nur ganz wenige Datenbankzugriffe benötigst, ist AJAX eine gute Variante:https://www.w3schools.com/xml/ajax_intro.asp
- Sollte es etwas mehr werden, würde ich das bidirektionale Protokoll WebSocket verwenden, um den Overhead des HTTP(S)-Protokolls zu vermeiden. Es ist etwas komplexer als AJAX, doch man kann sich mit Tutorials ganz schnell einarbeiten:Für PHP: https://entwickler.de/online/websocket-implementierung-mit-php-132012.htmlFür NodeJS: https://medium.com/@martin.sikora/node-js-websocket-simple-chat-tutorial-2def3a841b61
Solltest du noch Fragen haben, melde dich gerne.
Wenn ich es mit NodeJS mache muss ich ja noch npm auf dem Server installieren oder?
Ja
Und was ist NodeJS? Eine eigne Sprache?
Nein. NodeJS ist eine serverseitige JavaScript Laufzeitumgebung.
Muss ich mit PHP auch was installieren?
Nein, aber die Socket-Erweiterung muss aktiv sein.
Gar nicht. Du brauchst dafür mindestens eine serverseitig Programmiersprache wie PHP oder Perl.
Ausnahme: wenn Du ein serverseitiges JavaScript-Framework wie nodejs verwendest, könntest Du es auch von dort aus. Siehe: https://www.heise.de/developer/artikel/Einfuehrung-in-Node-js-Folge-9-Datenbanken-ansprechen-NoSQL-3644283.html
Das kommt ganz drauf an wo du Javascript gerade ausführst.
Im Browser hast du die Möglichkeiten dich entweder per HTTP oder Websockets mit einer Datenbank/Server zu verbinden. Da es aber fast keine Datenbank protokolle gibt die über HTTP oder Websockets laufen (dies hat sicherheitsgründe) schaltet man dazwischen einen Serverprozess der sehr wohl HTTP oder Websocket Anfragen annimmt. Dieser Serverprozess antwortet dann auf Anfragen in dem er selber dann mit der Datenbank kommuniziert und die Daten dann an den Benutzer durch die sicheren protokolle weiterleitet.
Also als einfache Antwort, benutzt du im Browser Javascript dann geht das eigentlich nicht. Benutzt du aber Javascript auf einem Server (NodeJS) dann geht das.
Es gibt keine API für sowas in JavaScript im Browser .
Das geht nur Serverseitig .
Dein JavaScript fragt den Server der liefert es der Webseite .
Oder Du hast halt einen JavaScript Server wie Node.js .
aus guten grund garnicht. du könntest aber per ajax mit nem php script kommunizieren.
Wenn ich es mit NodeJS mache muss ich ja noch npm auf dem Server installieren oder? Das geht aber nicht da meine Website wo anders gehostet wird. Muss ich mit PHP auch was installieren? Und was ist NodeJS? Eine eigne Sprache?