@hollanditkzn

Как сохранить файл во время отпарвки данных ajax?

У меня такой вопрос, что я не пойму и даже не вижу файлы, чтобы их посмотреть, чтобы понять приходять или нет эти файлы вообще?
использую materialize css и будет специфический код
Вот как я реализовал
В форме
form#form-create_zakaz(enctype='multipart/form-data' class='col s12')
.row.card-panel.hoverable
                            h5 Информация о заказе
                            .input-field.col.s6
                                input.validate#description-zakaz(type='text' required=true name='description')
                                label(for='description-zakaz') Описание
                            .input-field.col.s2
                                input.validate#number-zakaz(type='number' min='0' required=true name='number')
                                label(for='number-zakaz') Количество
                            .input-field.file-field.col.s6
                                .btn
                                    span
                                        i.material-icons photo_camera
                                    input(type='file' name='image')
                                .file-path-wrapper
                                    input.file-path.validate(type='text' placeholder='Загрузите файл' name='file')

В javascript файл
$(document).ready(function () {
	$('#form-create_zakaz').submit(function (e) {
		console.log($(this).serialize());
		e.preventDefault();
		let form = $(this);
		$.ajax({
			url: 'create/zakaz',
			type: 'POST',
			data: form.serialize()
		}).done((result)=> {
			if (result === true){
				this.reset();
				$('#modal1').modal('close');
			} else {
				console.log('Не сохранились данные');
			}
		}).fail((textStatus) => {
			console.error('Произошла ошибка '+textStatus);
		});
	});
});

Как сохраняется данные не пишу. Я смотрел в интернете посмотрел, там все реализации только с файлами. А как понял в моем случае по другому, потому что если указать
contentType: false,
processData: false,

То текст уходит. Или как правильно реализовать на node js
  • Вопрос задан
  • 212 просмотров
Пригласить эксперта
Ответы на вопрос 1
Igor-Maf
@Igor-Maf
Senior Front End developer
чуть не сломался, пока дочитал) ты, видимо, очень долго пытался разобраться с этим, до того, как начал писать вопрос))
Короче, если у тебя есть форма, в которой одно из полей - загрузка файла, то это уже не обычная форма, а multipart-form, и, в таком случае, данные из неё, нужно отправлять, с помощью FormData
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы