• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Local Single Page Application - Dateinamen aus Ordner in JS

CL90

New member
Hallo.

Kurz die Frage (Dann Ausführlich):
Wie bekomme ich Dateinamen aus einem Ordner in ein javascript Array?
Client und "Server" sind auf dem selben PC.

Ausführlicher:
Ich versuche eine Webseite zu machen die wie ein GUI zu bedienen sein soll, und in einem selbst gehostetem Browser läuft (Chromium Embedded Framework).
Ich bin jetzt seit einer Woche am suchen, und einlesen in die Thematik der SPA.

Ich weiß, dass ich mit $("#foo").append( "bar" ); Inhalt mit JQuery nachlegen kann, bzw. auch wie ich ihn lösche.
jedoch hänge ich daran, wie filesystem Zugriffe mache. Ich möchte z.B., dass die Website Bilder aus einem Ordner anzeigt.
Dazu müsste ich nur die Bildnamen in ein Array bekommen, denn in die Seite einfügen kann ich es einfach mit:
$("#foo").append( "<img src='name.png'/> ");

Konkret hänge ich an einem Code:
HTML:
        $.ajax({
          url: "",
          success: function(data){
            $("body").append( "testtest'" );
            $("body").append( $(data).length );
            
            $(data).find(".").each(function(){
                // will loop through 
                alert("Found a file: " + $(this).attr("href"));
            });
          }
        });
An den Body wird "testtest'25" angehängt, aber es wird irgendwie keine Datei gefunden und ein alert gesendet.
Was genau mache ich falsch?

Und nicht außer acht zu lassen, geht es vielleicht erheblich einfacher? und ich mache es sehr umständlich? Gibt es vielleicht eine Lib die man für so was nehmen kann?

Beste Grüße
Chris
 
Zuletzt bearbeitet von einem Moderator:
Hi Christ,

dein AJAX-Request muss irgendwen ansprechen - das ist nicht die gleiche Verhaltensweise wie bei einem leeren action-Attribut in einem Form-Tag. Ein relativer Pfad ist in vielen Anwendungsfällen vorzuziehen - Du kannst hierzu zwar Deine Ausgangsdatei nehmen, ist aber etwas untypisch und ein wenig dreckig. Aber wie immer beim Prototyping: Geschmackssache.

data beinhaltet die Antwort vom Server - den callback. Da steht das drin, was Du am Server zurückgeben willst: simpler String, HTML, XML, JSON. Ich wage die Behauptung, dass Du es bequemer hättest, wenn Du die Information, die "." letztendlich filtern soll, direkt ab Server zurücklieferst. Lecker JSON zurückgeben, durchtanken für die Darstellung - fertig. Erneut: Geschmackssache.

Viel Erfolg.
 
Wenn ich die leer lasse, sucht er dann nicht im Verzeichnis wo die index.html liegt?
es kommt darauf an, wie dein server konfiguriert ist, was hast du denn als server?
wenn du das an einen standard server sendest, liefert er idR. index.irgendwas, was halt konfiguriert ist.
du musst ja aber am server erkennen, das du die dateiliste haben möchtest. dafür musst du entweder ein eigenes serverscript aufrufen, oder wenigstens einen get-parameter mitgeben, der kennzeichnet dass du jetzt die dateiliste haben möchtest und nicht dein default-script.
oder wie unterscheidest du das?


Wieso XML? sucht $(data).find(".") nicht nach einem "." (Punkt) im namen?
https://api.jquery.com/find/
 
Es gibt keinen richtigen Server. Chromium Embedded Framework ist ein C++ Framework, dass eben einen Chrome Browser öffnet. Und ich lade da jetzt eine Lokale index.html.
Diese Index.html beschreibt ein GUI, welches über Chromium Embedded Framework mit dem C++ teil Kommuniziert. Da werden später Algorithmen mit gesteuert, aber das spielt keine Rolle, da ich aktuell am Simplen Aufbau der GUI scheitere.

Streng genommen: Ich öffne eine Index.html mit Chrom und arbeite ausschließlich Lokal. Es gibt keinen Server.

Wie kann man in so einem Setup eine Seite Dynamisch mit Inhalt füttern?
 
Es gibt keinen richtigen Server. Chromium Embedded Framework ist ein C++ Framework, dass eben einen Chrome Browser öffnet. Und ich lade da jetzt eine Lokale index.html.
dann hast du aber niemanden, der dir auf einen request hin eine dateiliste zusammenstellt.

Diese Index.html beschreibt ein GUI, welches über Chromium Embedded Framework mit dem C++ teil Kommuniziert.
dann musst du eine js schnittstelle zum framework implementieren, welche dir die dateiliste liefert.

Wie kann man in so einem Setup eine Seite Dynamisch mit Inhalt füttern?
nur über eigene js-schnittstellen
https://bitbucket.org/chromiumembedded/cef/wiki/JavaScriptIntegration.md#markdown-header-extensions
https://bitbucket.org/chromiumembed...n.md#markdown-header-functions-and-extensions
 
Zurück
Oben