@s1mypj
Начинающий web-программист.

Почему не работает formData?

Доброй ночи, столкнулся с задачей - загружать файлы( картинки ) через ajax на сервер прямиком в бд.
Но, у меня проблема в консоль браузера пишет такую ошибку Uncaught ReferenceError: formData is not defined.
Хотя вроде как всё делаю правильно:
$('#postnews').click(function(event) {
		event.preventDefault();
		var url = '...';
		var data = $('form#news__form').serialize();
		var file_data = $('#newsimg').prop('files');
		var form_data = new FormData();
		form_data.append('file', file_data);
		$.ajax({
			url: url,
			type: 'POST',
			dataType: 'text',
			data: {data: data, formData: formData},
			cache:false, // В запросах POST отключено по умолчанию, но перестрахуемся
		    contentType: false, // Тип кодирования данных мы задали в форме, это отключим
		    processData: false, // Отключаем, так как передаем файл
		})
		.done(function() {
			$('.successful').slideDown();
			setTimeout(function(){
				$('.successful').slideUp();
			}, 2500)
			$('#news__form')[0].reset();
		})
		.fail(function() {
			$('.nsuccessful').slideDown();
			setTimeout(function(){
				$('.nsuccessful').slideUp();
			}, 2500)
		});
		setTimeout(function(){
			location.reload();	
		}, 2650)
		
	});

Без формдаты всё работало и всё отправлялось в бд.
Не знаю как решить эту ошибку.
Заранее спасибо!
  • Вопрос задан
  • 1226 просмотров
Решения вопроса 1
kgb_zor
@kgb_zor
I need your traceback.
var form_data = new FormData();
...
data: {data: data, formData: formData},


У вас переменная по другому названа.
Исправьте на formData: form_data
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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