Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.10.2009, 16:38
Интересующийся
Отправить личное сообщение для east Посмотреть профиль Найти все сообщения от east
 
Регистрация: 01.10.2009
Сообщений: 14

Как из response получить данные
var request = new XMLHttpRequest();
request.open( "GET", fileName, false );
request.setRequestHeader("Content-Type", "image/gif");
request.send(null);

...........................................

var obj = document.createElement( 'img' );
obj.style.left = ......;
obj.style.top = ......;
obj.style.position = ......;
obj.style.width = ......;
obj.style.height = .......;
obj.id = ......;
parent.appendChild( obj );


Как привести контент ответа к src элемента IMG ?????
( т.е. как запихнуть картинку, приходящую в ответ в динамически созданный элемент IMG )

Последний раз редактировалось east, 01.10.2009 в 16:41.
Ответить с цитированием
  #2 (permalink)  
Старый 01.10.2009, 16:53
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

obj.src=request.responseText;

Если, конечно, ответ пришел в виде правильного урла.

И почитайте о кроссбраузерном аяксе.
Ответить с цитированием
  #3 (permalink)  
Старый 01.10.2009, 17:04
Интересующийся
Отправить личное сообщение для east Посмотреть профиль Найти все сообщения от east
 
Регистрация: 01.10.2009
Сообщений: 14

Сообщение от B~Vladi Посмотреть сообщение
И почитайте о кроссбраузерном аяксе.
Вы по-поводу этого?
try
{
     request = new ActiveXObject("Msxml2.XMLHTTP");
}
     catch (e)
     {
         try
          {
             request = new ActiveXObject("Microsoft.XMLHTTP");
          }
          catch(e)
          {
                  request = false;
          }
      }

      if (!request && typeof request != 'undefined')
      {
           request = new XMLHttpRequest();
      }

Если да, то я просто вопрос оформил псевдо-кодом. Только для раскрытия сути проблемы.
Ответить с цитированием
  #4 (permalink)  
Старый 01.10.2009, 17:10
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

request.setRequestHeader("Content-Type", "image/gif");

Вы точно адрес картинки пытаетесь получить?
Ответить с цитированием
  #5 (permalink)  
Старый 01.10.2009, 17:19
Интересующийся
Отправить личное сообщение для east Посмотреть профиль Найти все сообщения от east
 
Регистрация: 01.10.2009
Сообщений: 14

Сообщение от B~Vladi Посмотреть сообщение
obj.src=request.responseText;

Если, конечно, ответ пришел в виде правильного урла.
В ответе не урл, а бинар картинки, так что к сожалению, данный способ не работает.
А если немного быть точнее, то в присваивание атрибута src реализовано так:
var attr = document.createAttribute("src");
// Если присвоить урл картинки следующтм образом, то все отлично
attr.value = <урл>;
obj.setAttributeNode(attr);
.......
parent.appendChild( obj );


А надо в элемент 'img' запихнуть уже принятую картинку из response.
Можно совместить эти два кода, тогда картинка будет кешироваться из response, а помещаться в img из кеша вторым запросом путем явного указания урл'а в атрибуте src, но не хочется.
Ответить с цитированием
  #6 (permalink)  
Старый 01.10.2009, 17:28
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Создавайте картинку, присваивайте ей урл, на который вы шлёте запрос. В ответ придёт картинка и вставиться. Зачем тут аякс?!
Ответить с цитированием
  #7 (permalink)  
Старый 01.10.2009, 17:30
Интересующийся
Отправить личное сообщение для east Посмотреть профиль Найти все сообщения от east
 
Регистрация: 01.10.2009
Сообщений: 14

Сообщение от B~Vladi Посмотреть сообщение
Создавайте картинку, присваивайте ей урл, на который вы шлёте запрос. В ответ придёт картинка и вставиться. Зачем тут аякс?!
Без обиняков: если бы мне это было не нужно - не спрашивал бы.
Ответить с цитированием
  #8 (permalink)  
Старый 01.10.2009, 17:35
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Дк какие проблемы?! Ты же куда-то шлёшь запрос, так?! вот и вставляй этот запрос в src картинки!

Либо Data:URL.
Ответить с цитированием
  #9 (permalink)  
Старый 01.10.2009, 17:49
Интересующийся
Отправить личное сообщение для east Посмотреть профиль Найти все сообщения от east
 
Регистрация: 01.10.2009
Сообщений: 14

Вот смотрите, что получается, ответ:
HTTP/1.1 200 OK
Date: Thu, 01 Oct 2009 13:40:45 GMT
Cache-Control: private
Content-Type: image/gif
Content-Length: 13529
Connection: Close

GIF89a€.......... hex картинки...................

Что мне прописать в:
attr.value = request. ............ ???????
или как по-другому?
ведь request.responseText и request.responseXML - не тот тип данных

Как получить контент ответа, сами данные. Как их преобразовать к типу картинки? Или, допустим, нужно создать массив, в который поместить данные из ответа, а ими уже заполнить элемент img.
Ответить с цитированием
  #10 (permalink)  
Старый 01.10.2009, 17:55
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

НЕ НАДО ИСПОЛЬЗОВАТЬ AJAX!!!
Это до вас доходит?!

Либо гуглить по запросу data:url.
Если уж без него никак...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить имя компа через JavaScript? Бурундук Общие вопросы Javascript 3 19.09.2009 16:44
Как получить позицию начала выделения? @LEXXX_NF Events/DOM/Window 3 28.08.2009 10:28
Help ! Как загрузить данные по ссылке из таблицы1 в таблицу2 ? asked86 Общие вопросы Javascript 1 25.03.2009 21:06
Как получить файл с сервера AJlekceu AJAX и COMET 1 02.11.2008 13:41
Возможно ли получить данные из файла на сервере? sdff Общие вопросы Javascript 11 19.07.2008 20:48