the form:
<form action="#" enctype="multipart/form-data" method="POST"> <input id="photos_upload" multiple="true" name="userPhotos[]" accept="image/jpeg,image/png,image/gif" type="file"> </form> JS script:
$('#photos_upload').change(function(){ console.log('uploading'); var formData = new FormData($(this).parents('form')[0]); $.ajax({ url: 'albums/addPhoto', type: 'POST', data: formData, cache: false, contentType: false, processData: false, xhr: function() { var myXhr = $.ajaxSettings.xhr(); return myXhr; }, success: function (data) { alert("Data Uploaded: " + data); }, error:function () { console.log('uploading'); } }); event.preventDefault(); }); Without JS, it works fine, but it is impossible to transfer data via ajax