Ich versuche, auf eine hochgeladene Datei zuzugreifen, die mit AJAX gepostet wird, aber mein $_FILES
Array ist leer. Ich kann immer noch auf alles in meinem $_POST
Array zugreifen .
Ich habe eine Reihe von Beiträgen zu ähnlichen Problemen gesehen, aber keine der Korrekturen schien zu funktionieren. Ich habe dies schon mehrmals ohne Probleme gemacht und kann nicht sehen, was hier falsch sein könnte.
Hier ist mein HTML-Formular
<form enctype="multipart/form-data" action="include/ajaxCall.inc.php" class="postForm d-flex flex-column" method="post" id="createProduct">
<input id="createProductImg" type="file" name="post_img" required><br>
<input id="createProductName" type="text" name="post_name" placeholder="name" required>
<input id="createProductPrice" type="text" name="post_price" placeholder="price" required>
<input id="createProductManufactur" type="text" name="post_manufactur" placeholder="manufactur">
<select id="createProductType" name="post_type" required>
</select>
<select id="clothingsex" name="clothingsex" required>
<option value="unisex">Unisex</option>
<option value="male">Male</option>
<option value="female">Female</option>
</select>
<textarea id="createProductDescription" name="post_description" required style="resize: none; placeholder="Write your description here:"></textarea>
<input type="submit">
</form>
und hier ist mein ajax
$("#createProduct").submit(function(event) {
console.log("log");
event.preventDefault();
var form = $(this);
var url = form.attr('action');
$.ajax({
type: "POST",
url: url,
data: form.serialize() + "&addProduct=1",
success: function(data) {
console.log(data);
}
});
});
und sie ist die Datei, an die ich den POST schicke
if (isset($_POST['addProduct'])) {
echo var_dump($_FILES);
}
Okay ich habe die Lösung gefunden. Mein ursprünglicher Code funktioniert einwandfrei, das Problem war, dass ich die Formulardaten angehängt habe, bevor das Formular ausgefüllt wurde.
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen