Andre: javascript nachladen von beliebig vielen seiten

Hallo,

ich habe folgendes Problem und hoffe ihr könnt mir weiterhelfen.

ich möchte gerne auf eine fixe HTML Seite dynamische Daten in form von Tabellen einfügen. (Tabelle wird für jeden datensatz neu erstellt

Die Seite wird geöffnet, darauf hin werden per ajax alle Informationen aus der Datenbank geholt. nun möchte ich gerne, dass diese Informationen, in eine bestimmte Vorlage eingebunden werden. Diese Vorlage soll min. 1 bis zu 100 in die main-HTML implementiert werden können. Das gleiche habe ich mit fragments in android studio gemacht... kennt vielleicht jemand ein Tutorial oder ähnliches?

Gruß Andre

  1. Hallo,

    eigentlich hast du an dieser Stelle bereits alles gemacht, was notwendig ist, dein Problem zu lösen.

    Du holst ja per ajax die Daten aus der Datenbank. Im success-Bereich(data) kannst du nun die Daten so aufbreiten, wie du die in der Siete haben möchtest. Am ende kannst du zur Laufzeit einfach mit einem js-Befehl wie z.B.:

    <div id="platzhalter"></div> (steht in deinem Teplate)
    $("#plathalter").html("deine Daten"); (steht im success-Bereich)
    

    die Daten an der Stelle, wo du willst, in die Siete einfügen und anzeigen. Hast du so etwas gemeint?

    Gruß

    1. ne leider nicht das ist gerade meine derzeitige Lösung... und diese gefällt mir nicht.

      Derzeit:

      
      <html>
        <head> 
          <script src="befüllen.js"></script>
        </head>
        <body onload="getData()">
          <div id="result"></div>
        </body>
      </html>
      
      ~~~js
      befüllen.js:
      function getData(){
        //ajax -> var request
        request=request.split(";");
        var tmp;
        for(var i=0; i<request.length; i++){
          tmp = tmp + formatData(request[i]);
       }
      
          document.getElementById("result").innerHTML=tmp;
      
      function formatData(tmp){
       tmp=tmp.split(",");
       var result="<table>\n\
                     <tr>\n\
                        <td>\n\
                           tmp[0]\n\
                        </td>\n\
                        <td>\n\
                           tmp[1]\n\
                        <td>\n\
                     </tr>\n\
                     <tr>\n\
                        <td>\n\
                           tmp[2]\n\
                        </td>\n\
                        <td>\n\
                           tmp[3]\n\
                        <td>\n\
                     </tr>\n\
                   </table>";
      return result;
      }
                                 
      

      ich möchte das an dem Punkt in der For schleife eine HTML Datei (Vorlage) geladen wird, dort wird jedes Element mit der ID angesprochen und dann in die MAIN-HTML eingefügt.

      1. Du suchst eine Templateengine in JS. http://garann.github.io/template-chooser/

      2. Hallo,

        das einzige, was mir an dieser Stelle einfällt, ist, dass du vor der Schleife deine HTML-Datei in eine Variable einliest und in der Schleife ersetzt du dann alle Platzheltar (wie z.B. #wert1) mit dem jeweiligen Wert. Beispiele dafür sind viele im Netz zu finden.

        Gruß