Foren
Neue Beiträge
Foren durchsuchen
Was ist neu?
Neue Beiträge
Profilnachrichten
Online
Anmelden
Registrieren
Aktuelles
Suche
Suche
Nur Titel durchsuchen
Von:
Neue Beiträge
Foren durchsuchen
Menü
Anmelden
Registrieren
App installieren
Installieren
Programmierung
JavaScript
Expess -> Seite wird nicht gerendert.
JavaScript ist deaktiviert. Für eine bessere Darstellung aktiviere bitte JavaScript in deinem Browser, bevor du fortfährst.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen
alternativen Browser
verwenden.
Auf Thema antworten
Beitrag
[QUOTE="Christoph, post: 8407, member: 1887"] Hallo Leute, ich bin neu in der Webentwicklung. Seit einigen Wochen habe ich mir viele Tutorials angesehen und diverse kleine Testprojekte umgesetzt. Jetzt habe ich ein Projekt gestartet und nun poppen die die ersten Probleme auf, es war klar dass das kommt. :) Für mein Projekt verwende ich Node.js mit Express und für die EventHandler der Controls wollte ich mit Ajax arbeiten. Das arbeiten mit den ejs Templates funktioniert schon mal sehr gut. Ich gehe aktuell wir folgt vor um eine Seite zu rendern: [CODE=javascript]var personManager = require('../dataAccess/samplePerson'); module.exports = (app) => { app.get('/person', (request, response) => { var listOfPerson = personManager.getPerson(); response.render('person', { listOfPerson: listOfPerson }); }); };[/CODE] Das funktioniert soweit schon mal gut, die Liste mit den Personen wird angezeigt. Die Liste mit Personen soll mit einem Button geladen werden. [SIZE=1](später soll es verschiedene Buttons mit Optionen geben)[/SIZE] Den Event Handler für den Button habe ich so umgesetzt: [CODE=javascript]$(document).ready(function () { $('#loadAll-btn').on('click', function () { $.ajax({ type: 'GET', url: '/person/' + '?loadBy=loadAll' , success: function(data){ //do something with the data via front-end framework //location.reload(); } }); }); });[/CODE] Das Event wird gefeuert, das habe ich mit console.log(..) an verschiedenen Stellen im Controller nachgewiesen. Nun hatte ich ich folgende Idee im Controller auf die unterschiedlichen Parameter zu reagieren. [CODE=javascript]module.exports = (app) => { app.get('/person', (request, response) => { var loadRequest = request.query; if (loadRequest.loadBy === 'loadAll') { //Liste befüllen console.log('loadAll'); var listOfPerson = personManager.getPerson(); response.render('person', { listOfPerson: listOfPerson }); } else { //Leere Liste übergeben console.log('load nothing'); response.render('person', { listOfPerson: [] }); } }); };[/CODE] Die Liste wird so nicht gerendert und ich verstehe nicht warum, bis auf die If-Verzweigung ist doch alles gleich geblieben. Wenn ich im Broser: person/?loadBy=loadAll eingebe wird die Liste ebenfalls nicht gerendert und die Seite verliert die Referenz zum CSS, sie wird ohne Styles gezeichnet. Warum funktioniert das so nicht? Könnte mir bitte jemand sagen was ich anders machen muss? Herzliche Grüße Christoph [/QUOTE]
Zitate
Authentifizierung
Antworten
Programmierung
JavaScript
Expess -> Seite wird nicht gerendert.
Oben
Unten