Я пытаюсь загрузить файл из формы, используя ajax, но я сталкиваюсь с проблемой: когда я отправляю форму, страница обновляется, поэтому файл загружается не полностью на сервер, вот мой код:
<form enctype="multipart/form-data">
<input id="sortpicture" type="file" name="sortpic" />
<button id="upload">Upload</button>
</form>
Файл Jquery:
$('#upload').on('click', function(e) {
var file_data = $('#sortpicture').prop('files')[0];
var form_data = new FormData();
form_data.append('file', file_data);
console.log(form_data);
$.ajax({
url: 'upload.php', // point to server-side PHP script
dataType: 'text', // what to expect back from the PHP script, if anything
cache: false,
contentType: false,
processData: false,
data: form_data,
type: 'post',
success: function(php_script_response){
alert(php_script_response); // display response from the PHP script, if any
}
});
});
файл php:
<?php
if ( 0 < $_FILES['file']['error'] ) {
echo 'Error: ' . $_FILES['file']['error'] . '<br>';
}
else {
move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name']);
}
?>
Я не хочу использовать функцию protectDefault (), вы, ребята, знаете альтернативу ей?
Спасибо.