Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.02.2015, 09:21
Аспирант
Отправить личное сообщение для VolodinAS Посмотреть профиль Найти все сообщения от VolodinAS
 
Регистрация: 24.11.2012
Сообщений: 44

Динамическая загрузка файлов
Нашел плагин jquery динамической загрузки файлов.
Вот ссылка на его скачивание

Также, использую гугловский ajax.

Вот ИСХОДНЫЙ код страницы, где используется плагин загрузки.

Проблема в том, что вроде бы всё встраиваю верно. Сначала jquery, потом плагин. Затем функция:
$(document).ready(function() { 
	$('#avatar').live('change', function() { 
		$("#preAva").html(''); // чистим preview
		$("#preAva").html('<img src="images/load.gif" height="32" />');
		$("#formAvaUpload").ajaxForm({
			target: '#preAva'
		}).submit();
	});
});


Потом сама форма с div'ом для превью:
<div id="preAva">
<?php

if ($authArr['info']['avatar']){
echo <<<EOD
<img src="images/avatars/{$authArr['info']['avatar']}" height="100">
EOD;
} else {
echo "Аватар не установлен";
}

?>
</div>
<form id="formAvaUpload" method="post" enctype="multipart/form-data" action="php_avatar.php">
	<input type="file" name="avatar" id="avatar" />
</form>


Запускаю страницу. После загрузки выпадает ошибка о том, что изначально плагин не идентифицирован.
Код:
Uncaught TypeError: undefined is not a function
(anonymous function)
m.Callbacks.j [jquery.min.js:2]
m.Callbacks.k.fireWith [jquery.min.js:2]
m.extend.ready [jquery.min.js:2]
J  [jquery.min.js:2]
жалуясь на строку
$('#avatar').live('change', function() {


Файл выбирается нормально, в форме отображается выбранный файл, но картинка загрузки
$("#preAva").html('<img src="images/load.gif" height="32" />');

не отображается.

Смешно то, что у меня есть еще один сайт, где практически всё тоже самое. Подозреваю в этом ВОЗМОЖНО устаревшую версию jquery в google, но пока не пробовал. Может кто сталкивался с такой проблемой и знает, как ее решить?

Последний раз редактировалось VolodinAS, 17.02.2015 в 09:42.
Ответить с цитированием
  #2 (permalink)  
Старый 17.02.2015, 09:25
Аспирант
Отправить личное сообщение для VolodinAS Посмотреть профиль Найти все сообщения от VolodinAS
 
Регистрация: 24.11.2012
Сообщений: 44

Попробовал версии с офф jquery - результат тот же
Ответить с цитированием
  #3 (permalink)  
Старый 17.02.2015, 14:38
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

live() устарел и был удален из jQuery. Используй on().
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #4 (permalink)  
Старый 17.02.2015, 14:47
Аспирант
Отправить личное сообщение для VolodinAS Посмотреть профиль Найти все сообщения от VolodinAS
 
Регистрация: 24.11.2012
Сообщений: 44

Сообщение от danik.js Посмотреть сообщение
live() устарел и был удален из jQuery. Используй on().
Хм... Странно, что на моем другом сайте всё работает.... Видимо, старый джейк там еще....................

просто заменить на on? или перелопатить всё?
Ответить с цитированием
  #5 (permalink)  
Старый 17.02.2015, 14:53
Аспирант
Отправить личное сообщение для VolodinAS Посмотреть профиль Найти все сообщения от VolodinAS
 
Регистрация: 24.11.2012
Сообщений: 44

вроде бы всё вышло и отправляет данные на указанный в форме файл, но я отправляю данные post'ом, но при print_r($_POST) выводит пустой массив, будто данные не отправил. Что посоветуете?
Ответить с цитированием
  #6 (permalink)  
Старый 17.02.2015, 14:55
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Если при загрузке документа avatar присутствует, то да, просто заменить на метод .on, иначе нет, необходимо будет делегировать обработку.
Ответить с цитированием
  #7 (permalink)  
Старый 17.02.2015, 14:59
Аспирант
Отправить личное сообщение для VolodinAS Посмотреть профиль Найти все сообщения от VolodinAS
 
Регистрация: 24.11.2012
Сообщений: 44

Уже попробовал. запрос на php_avatar.php приходит. Но при print_r($_POST) - пустой массив. Будто данных нет.
Вот requestHeaders..
Цитата:
Remote Address:127.0.0.1:80
Request URL:http://multytasker.ru/php_avatar.php
Request Method:POST
Status Code:200 OK
Request Headersview parsed
POST /php_avatar.php HTTP/1.1
Host: multytasker.ru
Connection: keep-alive
Content-Length: 605643
Accept: */*
Origin: http://multytasker.ru
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryaRv51PgqzxLJWqCg
Referer: http://multytasker.ru/profile
Accept-Encoding: gzip, deflate
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
Cookie: PHPSESSID=f67c8fdca90273a793d78b8943abed8f; USER_ID=1; USER_PASSWORD=14851e5b7982e744a5efa9ee7c45bb7a6af1 8fe49c598dfa64d8304cee2484c0cb213f36c0866400407748 8225789729
Request Payload
------WebKitFormBoundaryaRv51PgqzxLJWqCg
Content-Disposition: form-data; name="avatar"; filename="РАСПИСАНИЕ.jpg"
Content-Type: image/jpeg


------WebKitFormBoundaryaRv51PgqzxLJWqCg--
Response Headersview parsed
HTTP/1.1 200 OK
Date: Tue, 17 Feb 2015 11:58:24 GMT
Server: Apache/2.2.22 (Win32) mod_ssl/2.2.22 OpenSSL/0.9.8r PHP/5.2.12
X-Powered-By: PHP/5.2.12
Content-Length: 91
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8
И если честно - я тут не вижу признаков картинки... Точнее, content: image вижу и название, но загрузки будто вообще не происходит и даже не пытается
Ответить с цитированием
  #8 (permalink)  
Старый 17.02.2015, 15:05
Аспирант
Отправить личное сообщение для VolodinAS Посмотреть профиль Найти все сообщения от VolodinAS
 
Регистрация: 24.11.2012
Сообщений: 44

Я идиот... всё из головы вылетело... $_FILES же надо проверять! Всё, всем большое спасибо! +ы в карму... или я не могу, потому что у меня минус?...
Ответить с цитированием
  #9 (permalink)  
Старый 17.02.2015, 15:06
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

А вы не заголовки смотрите, а параметры запроса.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка файлов на сервер (не хватает вывода ошибки) byFahrenheit Серверные языки и технологии 4 26.10.2016 20:55
Nodejs, busboy, загрузка нескольких файлов, не корректно вызывается событие 'finish' master_alf AJAX и COMET 1 07.10.2014 11:08
Загрузка файлов с превью imediasun1 Элементы интерфейса 3 01.10.2013 14:48
Загрузка БОЛЬШИХ файлов посредством ajax barcelona jQuery 7 12.10.2012 03:37
Загрузка файлов (ajax jquery) q13m jQuery 3 08.03.2012 19:18