Ergebnis 1 bis 3 von 3
  1. #1
    psygonis ist offline Jungspund
    registriert
    08-07-2014
    Beiträge
    18

    einfaches upload script ohne Jquery

    Ich habe ein ganz simples php Script. Das erzeugt ein <Input type='file' ….
    Das liegt in einem Form. Im Form ist auch noch ein Button, der das Ajax Script aufruft. Diese lädt dann die Form Daten, die Daten des file feldes und gibt die an ein weiteres PHP Script zur Auswertung. Es gibt keine Fehlermeldungen, weder im PHO noch an der Konsole. Alles läuft durch, das Auswertungs PHP funktioniert auch. Nur die $_FILES Variable ist leer.
    Es kommt einfach nichts an. Hier das Ajax Script. Fehlt das was?
    Code:
    Code:
     
    Ich habe ein ganz simples php Script. Das erzeugt ein <Input type='file' ….
    Das liegt in einem Form. Im Form ist auch noch ein Button, der das Ajax Script aufruft. Diese lädt dann die Form Daten, die Daten des file feldes und gibt die an ein weiteres PHP Script zur Auswertung. Es gibt keine Fehlermeldungen, weder im PHO noch an der Konsole. Alles läuft durch, das Auswertungs PHP funktioniert auch. Nur die $_FILES Variable ist leer.
    Es kommt einfach nichts an. Hier das Ajax Script. Fehlt das was?
    
    
    Code:
    function AJAX_Multiform_Post(formId, name, table, openArray, fileID, fileName, functionNames){
      //formId           id des Forms, welches das <input type='file' ......... > feld enthält
      //name             derzeit wegen dem Test nicht in Verwendung
      //table            derzeit wegen dem Test nicht in Verwendung
      //openArray        derzeit wegen dem Test nicht in Verwendung
      //fileID           ID des file feldes
      //fileName         Name des file feldes 
      //functionNames    javascript funktion für für ausgabe response und weiterverarbeitung 
    
      var url = document.getElementById(formId).action;                                                           //URL, zum php Script, wird aus dem action tag vom Form geholt
      var form = document.getElementById(formId);                                                                 //URL, zum php Script, wird aus dem action tag vom Form geholt
      var elem = document.getElementById(formId).elements;                                                        //liest alle Form Felder aus (für spätere Verwendung)
    
      url += "?test=sdfhdsvbjsdfgb";                                                                              //Test zur Überprüfung, ob die URL überhaupt richtig angesprochen wird
    
      var fileData;
      var data = new FormData();                                                                                  //DataForm Object initialisieren (erst ab IE 10 verfügbar)
    
      fileData = window.document.getElementById(fileID).files[0];
      data.append(fileName, fileData);
    
      xmlhttp4.onload = function(){if(typeof window[functionNames] == 'function') window[functionNames]();}
      xmlhttp4.onerror = xmlhttp4Error;
      xmlhttp4.open("POST", url, true);                                                                           //Form an URL senden
      xmlhttp4.setRequestHeader("Content-type", form.enctype);                                                       //enctype festlegen, damit auch Bilddaten übertragen werden
      xmlhttp4.send(data);                                                                                        //Bild-Daten versenden
    
      return false;
      }
    Auch die Funktion bei xmlhttp4.onload wird gestartet. Die bekommt den Response des Auswertungsscriptes. Es läuft also alles ohne Meldungen durch. Nur, es kommt nix an. Namen und ID`s stimmen auch.

    Auch die Auswertung ist ganz simpel:

    Code:
    $back = "Upload<br>File Array<br><pre>".print_r($_FILES, true)."</pre><br>Post Array<br><pre>".print_r($_POST, true);
    $back .= "</pre><br>Request Array<br><pre>".print_r($_REQUEST, true)."</pre>";
    echo $back;
    Ich erhalte das:

    Code:
    Upload<br>File Array<br><pre>Array
    (
    )
    </pre><br>Post Array<br><pre>Array
    (
    )
    </pre><br>Request Array<br><pre>Array
    (
        [test] => sdfhdsvbjsdfgb
    )
    </pre>
    Wo ist mein Fehler? Wieso kommt da nix an? Das FormData Objekt müsste doch per Post wenigstens die Values des file Feldes, also den gewählten Bildnamen übersenden.

  2. #2
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.625

    AW: einfaches upload script ohne Jquery

    Wäre jQuery eine Alternative?
    https://stackoverflow.com/questions/...ax-file-upload

    https://stackoverflow.com/questions/...-via-ajax-post



    Ich finde Ajax in purem JS fürchterlich.
    File upload through AJAX and FormData object

    Suchhilfe: js how to send file via formdata ajax
    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png
    Sorry wenn ich manchmal ohne Hallo und nur klein schreibe! Dann bin ich nicht unfreundlich sondern mit nervigem kleinem Touch Tablet zugange

  3. #3
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.640

    AW: einfaches upload script ohne Jquery

    Code:
     
      ...
      var form = document.getElementById(formId);
      url += "?test=sdfhdsvbjsdfgb";
    
      var data = new FormData(form);
    
      xmlhttp4.onload = function(){if(typeof window[functionNames] == 'function') window[functionNames]();}
      xmlhttp4.onerror = xmlhttp4Error;
      xmlhttp4.open("POST", url, true);                                                                           //Form an URL senden
      xmlhttp4.send(data);                                                                                        //Bild-Daten versenden
    
      return false;
      }

Ähnliche Themen

  1. [GELÖST] Datei(multi)upload mit FormData() ohne jQuery
    Von psygonis im Forum Ajax
    Antworten: 7
    Letzter Beitrag: 12-07-2014, 23:13
  2. [FRAGE] Upload ohne upload-Button mit bildanzeige
    Von centauros im Forum JavaScript
    Antworten: 6
    Letzter Beitrag: 16-02-2014, 17:13
  3. Einfaches Rechen Script
    Von fewodunkel im Forum JavaScript
    Antworten: 1
    Letzter Beitrag: 11-01-2009, 18:54
  4. einfaches upload-tool
    Von Uggi im Forum JavaScript
    Antworten: 1
    Letzter Beitrag: 13-04-2006, 14:09
  5. Einfaches Menü ohne Schnick-Schnack gesucht
    Von roffi im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 19-09-2005, 23:57

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •