Problem bei Formular mit Bild-Upload
-
Hallo,
ich habe ein Formular erstellt und die Daten(Text) mittels AJAX an admin-ajax.php weitergeleitet und dann in der functions.php bearbeitet und in die Datenbank gespeichert.
Soweit hat alles funktioniert.
Jetzt muss ich das Formular aber um einen Bild-Upload erweitern. Das Bild muss ebenfalls in der Datenbank hinterlegt werden. Nach meiner Recherche habe ich festgestellt, dass ich die Daten mittels Ajax in einem FormData-Element übergeben soll sowie beim AJAX-Call contentType: false und processData:false setzten muss.
Wenn ich das jedoch mache, komme ich nicht mehr in die richtige Methode, da vermutlich admin-ajax.php die richtige Methode nicht findet.Hier der Code vom Template:
jQuery('.register_form').submit(function(){ var filetoUpload = jQuery('#fileToUpload').prop('files')[0]; var form_data=new FormData(); form_data .append("file",filetoUpload); var vornameFeld = jQuery('.register_form_left_vorname').val(); form_data.append('action', 'saveSchueler'); form_data.append('vorname', vornameFeld); jQuery.ajax({ type: "POST", url: "/wp-admin/admin-ajax.php", contentType: false, processData:false, data: { form: form_data, }, success: function(response) { console.log("Success!!"); console.log(response); }, error: function(response) { console.log("Error!!"); console.log(response); } });
functions.php
function saveSchueler() { echo "Ich habe die functions.php erreich"; } add_action('wp_ajax_saveSchueler', 'saveSchueler'); add_action('wp_ajax_nopriv_saveSchueler', 'saveSchueler');
Das Ergebnis bzw. der Rückgabewert von AJAX/jQuery ist aber immer 0.
Ich hoffe ihr könnt mein Problem nachvollziehen und habt einen Rat für mich 🙂
Vielen Dank im Voraus!
- Das Thema „Problem bei Formular mit Bild-Upload“ ist für neue Antworten geschlossen.