вращение фото + xajax

horal

Новичок
вращение фото + xajax

пролистал форум, но так и не нашел ответ на вопрос

проблема: повернуть картинк на странице без перезагрузки.

процесс: запрос пошел на сервер, там сделали поворот картинки, и потом с сервера пробовал по всякому:

PHP:
    $data="<img src='$path' width='300' height='400' >";
    $objResponse->addAssign("photo2",'innerHTML',$data);
или

PHP:
  $objResponse->addScript("changePhoto('$path', {$res[1]}, {$res[2]},$photoId)");

  где  changePhoto 

    // это конкретно  <img src=''  id='photo_64' > 
   var elem = document.getElementById('photo_'+id);
     elem.src = path;
     elem.width =400;
     elem.height=300;
	 elem.style.display='block';


  или

      var _image = document.createElement('img');     
     _image.src=path;
     _image.width=width;
     _image.height=height;

      // это просто <DIV>  к которому хотел добавить картинку как потомка. 
      var p = document.getElementById('photo2')
     	    p.appendChild(_image);
и через iframe пробовал SRC менять.

РЕЗУЛЬТАТ: появляется граница картинки, а сама картинка - не появляется

ответ от сервера после поворота картинки происходит.
PHP:
       $res = rotateImage($gradus,$albumId,$userId,$photoId);
      $objResponse->addScript("changePhoto('{$res[0]}', {$res[1]}, {$res[2]},$photoId, false)");

    $data="<img src='{$res[0]}' width='300' height='400' >";
    $objResponse->addAssign("photo2",'innerHTML',$data);
путь у нее тот же самый остается.

где грабли зарыты?



PS: и не говорите, что я плохо искал по форуму и тема закрыта.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
ФФ + FireBug Вам в помощь.

-~{}~ 08.07.07 17:09:

1. Проверяете Ваш php скрипт обработки
2. если с ним все ок дебажите уже ДЖСкрипт.
 

horal

Новичок
там никаких ошибок не происходит

возвращается нормальный ответ, в нужной форме

но вызов кода в JS работает не корректно.

хотя, если просто сделать JS на onclick без ajax - то тот же JS работает прекрасно.

вот такой например:

PHP:
function testPhoto ()
{
	var path = "http://soc.net/upload/user_photos/10/14/ea5d2f1c4608232e07d3aa3d998e5135_medium.jpg";
	var elem3 = document.getElementById('photo3');
	 	 elem3.src=path;
}
в onclick - все гут. а после xajax ответа - только граница картинки.
 

alekciy

Новичок
Автор оригинала: horal
в onclick - все гут. а после xajax ответа - только граница картинки.
Посмотри src этой картинки. Сдается мне, что у тебя возможно что-то с путями. Хотя учитывая, что ты юзаешь либу xajax то возможно используешь её не правильно. По мне, так лучше с XMLHttpRequest объектом работать напрямую.
 

RoLex

Новичок
Сам xajax тут не причем. он работает корректно.
для твоей задачи как минимум два варианта решения.
1. заготовить заранее картинки уже повернутые.
на onclick перебирать их. (менять их сурс.)
xajax тут будет выступать в роли подменьщика картинок в нужном элементе. (если тхочешь использовать xajax)

2. иметь одну картинку (img_1), на onclick прописать ф-цию, (xajax_Rotate), которая будет обращаться к ф-ции на php, а она уже вращает картинку img_1, но сохраняет как img_2 в нужном месте на сервере, и возвращает путь к этой картинке img_2, и уже этот путь подставляешь в сурс. (при очередном вращении пересохраняется картинка под именем img_2)

PS. опиши лучше сначала свои функции на бумаге, если посчитаешь что все учел, потом приступай к их реализации в коде. это иногда очень помогает, когда оказываешь в тупике или что-то не получается
 

Nutty

Новичок
тяжелая конечно штука, но как вариант...
http://excanvas.sourceforge.net/
 
Сверху