ddimonn8080
@ddimonn8080

Почему file is undefined при отправке?

Здравствуйте,
при отправке файла с помощью Ajax:
$('<div class="dropZone">Drop for download</div>').prependTo('div[class*="innerItem"]');
	
	$(document).on(
		'dragover', '.dropZone', function(e) {
			e.preventDefault();
			$(this).addClass('dropHover');
			$(this).css({
				'line-height': $(this).height() + 'px'
			});
			$(this).text('Drop for download');
		}
	).on(
		'dragleave', '.dropZone', function(e) {
			e.preventDefault();
			$(this).removeClass('dropHover');
		}
	).on(
		'drop', '.dropZone', function(e) {
			e.preventDefault();
			$(this).removeClass('dropHover');
       		        var files = event.dataTransfer.files;

       		        loadInView(files);

       		        var xhr = new XMLHttpRequest();

		        xhr.upload.addEventListener('progress', uploadProgress, false);
		        xhr.onreadystatechange = stateChange;
		        xhr.open('POST', '/handler.php');
		        xhr.setRequestHeader('X-FILE-NAME', file.name);
		        xhr.send(file);
		}
	);

В консоли ошибка:
Uncaught ReferenceError: file is not defined
at HTMLDivElement. (admin.js:46)


В чём ошибка?
Спасибо.
  • Вопрос задан
  • 251 просмотр
Решения вопроса 1
@Oblomingo
Потому, что вы инициируете переменную files, а потом используете file.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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