Jestem stosunkowo nowy w funkcjach jQuery i Ajax, ale pracowałem z formularzami Ajax w ciągu ostatnich kilku dni. Jednak przy próbie załadowania zdjęć wystąpił problem z przesyłaniem plików. Szukając zasobów, nie mogłem znaleźć niczego przydatnego, ponieważ wydają się być zbyt skomplikowane z bezsensownymi dodatkami lub nie mają żadnego wyjaśnienia, co nie pomaga mi się dalej uczyć.Przesyłanie obrazu AJAX z PHP z FormData
ja napisałem ten kod do obsługi przesyłania obrazu w Ajax:
$(function() {
$('.input_photo').on("change",function() {
var formData = new FormData($('form.upload-form'));
$.ajax({
url: "upload.php",
type: "POST",
data: formData,
success: function (msg) {
alert(msg)
}
});
});
});
Ten wysyła żądanie do pliku upload.php
, jednak żadne dane nie są przesyłane, w zasadzie moja forma jest dosłownie tak:
<form class="upload-form">
<input type="file" name="input_photo" class="input_photo" />
</form>
Żadne dane nie wydają się być przekazywane w nagłówkach i zakładam, że uzyskałem do niego dostęp poprzez PHP z tablicą $_POST['data']
lub $_FILES
? Ktoś, kto ma lepszą wiedzę, pomóż nam to wyjaśnić, byłoby wspaniale zrozumieć to dalej. Dzięki.
Pierwszy raz działałem doskonale, chociaż zmieniłem go na **. On ('change') ** ponieważ live jest przestarzałe. Dziękuję Ci bardzo. – Danny