Добрый день!
Изучаю ajax с jquery;
Есть html
<p>Загрузите фото <input type='file' id="fileinput"/></p>
<p id="upload_pic_action">Загрузить </p>
У инпута id='fileinput';
Вот js (ajax)
$(document).ready(function(){
$( '#upload_pic_action' ).click(function ( ) {
var data;
data = new FormData();
data.append( 'file', $( '#fileinput' )[0].files[0] );/*находим загруженный файл.
$.ajax({
url: 'add_project_1.php',
data: data,
processData: false,
contentType:false,
type: 'POST',
success: function ( data ) {
alert( data );
}
});
});
});
С
files[0]
все понято .,у инпута с типом file есть массив files[].Первый загруженный элемент имеет индекс[0];
Но зачем к ID
$( '#fileinput' )[0] добавлять индекс [0],элемент ведь один.
Если убрать индекс,тоесть так
data.append( 'file', $( '#fileinput' ).files[0] )
то отправка не работает.Сервер ничего не выдает ..даже ошибку.
На обычном js если делать , также никаких индексов не делал и все работает
var file=document.getElementById('fileinput');
data = new FormData();
data.append('filename',file.files[0];