Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.01.2013, 11:46   #1
lansh
Пользователь
 
Регистрация: 30.10.2012
Сообщений: 21
По умолчанию Загрузка изображения через jquery ajax

Добрый день.

Нужно из формы на сайте получать фотографии и сохранять их в папке на сервере.
Как это пытаюсь сделать я, но так не работает:

html:
Код HTML:
<form>
   <input type="file" id="photo">
   <div id="ok"></div>
</form>
jquery:
Код HTML:
<script>
   $('#ok').click(function () { 
      $.post('handler.php', {
         photo: $('#photo').val()
      }
   });
</script>
php (handler.php):
PHP код:
<?php

   move_uploaded_file
($_FILES["photo"]["tmp_name"], "user_photo/".$_FILES["photo"]["name"]);

?>
Ситуация такая: на кнопку "ок" установлен обработчик, который при нажатие на неё, отправляет изображение через ajax в php скрипт, что бы тот её сохранил на сервере.
В чем ошибка?
Может так через ajax вообще нельзя передавать файлы...
lansh вне форума Ответить с цитированием
Старый 01.01.2013, 12:24   #2
lansh
Пользователь
 
Регистрация: 30.10.2012
Сообщений: 21
По умолчанию

и ещё было бы круто, если бы можно было в одном запросе ещё передавать обычные текстовые input'ы...
lansh вне форума Ответить с цитированием
Старый 01.01.2013, 12:55   #3
Aventus
Пользователь
 
Аватар для Aventus
 
Регистрация: 20.02.2012
Сообщений: 42
По умолчанию

ты на сервер отправляешь только путь файла на стороне клиента. те. c:/dir/.../
способ отправки файлов в данном случае не корректный.
Aventus вне форума Ответить с цитированием
Старый 01.01.2013, 13:09   #4
lansh
Пользователь
 
Регистрация: 30.10.2012
Сообщений: 21
По умолчанию

как сделать его корректным?
lansh вне форума Ответить с цитированием
Старый 01.01.2013, 13:20   #5
lansh
Пользователь
 
Регистрация: 30.10.2012
Сообщений: 21
По умолчанию

находил в интернете плагин ajax_upload, но он не подходит по функционалу, там отправка только файла, и происходит она сразу же после выбора файла.. не то в общем..
Просто сейчас пытаюсь сделать регистрацию, и там есть поле фотографии (аватара). И нужно отправлять все данные формы по нажатию кнопки "ок". Тестовые поля заносятся в mysql, фотки на сервер в отдельную папку. Хорошо если бы это все можно было делать в одном запросе, но я и не против двух, отдельно для фотки и отдельно для других данных....
lansh вне форума Ответить с цитированием
Старый 01.01.2013, 19:33   #6
lansh
Пользователь
 
Регистрация: 30.10.2012
Сообщений: 21
По умолчанию

Нашел то что мне нужно: плагин ajaxForm... но у меня как обычно все работает через ж*пу )) не передаются данные в php скрипт, переменные post'овые просто пустые... но при этом когда пытаюсь проверить значение перед отправкой их в php скрипт, то они есть..

Код HTML:
<script>
$('#reg_form').ajaxForm({
   beforeSubmit: function() {
	alert($('#reg_name_input').val()); // ещё есть значение, но в php файле его уже нет
   },
   success: function (data) {
		$('#script_reg').html(data);
   }
});
</script>
Из-за чего это может быть?...
lansh вне форума Ответить с цитированием
Старый 01.01.2013, 23:48   #7
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

Посмотри идет ли запрос на сервер прямо в браузере (В хроме на вкладке Network). Если уходит - посмотри параметры запроса, правильны ли они, какой тип запроса и пр. Если все ок - то на серверной стороне что-то не так.
Если запрос не уходит, то залейте страничку с версткой и скриптом на какой-нибудь сервер и дайте ссылку.
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Старый 02.01.2013, 13:30   #8
lansh
Пользователь
 
Регистрация: 30.10.2012
Сообщений: 21
По умолчанию

я идиот....
такая глупая ошибка...
когда все делалось на ajax post то использовались только id полей, а для использования ajaxForm уже используются значения из атрибута name, а я дальше продолжал использовать id....
Всем спасибо!
lansh вне форума Ответить с цитированием
Старый 03.01.2013, 22:42   #9
lansh
Пользователь
 
Регистрация: 30.10.2012
Сообщений: 21
По умолчанию

тут такой небольшой вопросик из php, а создавать лишнюю тему не хочется...
у меня почему то при установке куков в качестве каталога области видимости куки, устанавливается каталог, в котором находится сам скрипт устанавливающий куку.. вообще по умолчанию должен устанавливаться корневой каталог, но у меня почему то не так, наверное из-за настроек сервера... как в качестве области видимости куки установить корневой катало? пробовал что то вроде setcookie('name', 'value', time(), '../') - не работает, и пустое значение пути тоже не помогает..
--------
блин, опять сам нашел как сделать... нужно было поставить просто /
сорри

Последний раз редактировалось lansh; 03.01.2013 в 22:53.
lansh вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JQuery + Json+ Ajax maomam JavaScript, Ajax 0 02.12.2012 22:32
Загрузка Яндекс-Карты через Ajax. JQuery. Mr_freeman JavaScript, Ajax 3 30.03.2012 22:31
jquery ajax gunsoy JavaScript, Ajax 5 11.10.2011 21:59
jquery. загрузка изображения SkrudjMakdak JavaScript, Ajax 2 21.07.2011 03:38
Загрузка изображения через com-порт maks448 Общие вопросы Delphi 4 21.04.2009 07:06