Как из 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 ) |
obj.src=request.responseText; Если, конечно, ответ пришел в виде правильного урла. И почитайте о кроссбраузерном аяксе. |
Цитата:
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(); } Если да, то я просто вопрос оформил псевдо-кодом. Только для раскрытия сути проблемы. |
request.setRequestHeader("Content-Type", "image/gif"); Вы точно адрес картинки пытаетесь получить? |
Цитата:
А если немного быть точнее, то в присваивание атрибута src реализовано так: var attr = document.createAttribute("src"); // Если присвоить урл картинки следующтм образом, то все отлично attr.value = <урл>; obj.setAttributeNode(attr); ....... parent.appendChild( obj ); А надо в элемент 'img' запихнуть уже принятую картинку из response. Можно совместить эти два кода, тогда картинка будет кешироваться из response, а помещаться в img из кеша вторым запросом путем явного указания урл'а в атрибуте src, но не хочется. |
Создавайте картинку, присваивайте ей урл, на который вы шлёте запрос. В ответ придёт картинка и вставиться. Зачем тут аякс?!
|
Цитата:
|
Дк какие проблемы?! Ты же куда-то шлёшь запрос, так?! вот и вставляй этот запрос в src картинки!
Либо Data:URL. |
Вот смотрите, что получается, ответ:
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. |
НЕ НАДО ИСПОЛЬЗОВАТЬ AJAX!!!
Это до вас доходит?! Либо гуглить по запросу data:url. Если уж без него никак... |
Да зачем вам AJAX, не нужен он тут вообще:
var obj = document.createElement( 'img' ); img.src = fileName; parent.appendChild( obj ); |
Octane,
Разница все же будет, с аяксом или без -- в хидере страницы загрузка крутится будет :) Возможно, ТС напрягает именно это. east, B~Vladi Вам уже подсказал -- data:URL |
Всем спасибо за советы.
Нужен аякс мне или нет - не тема вопроса, не так ли? Ум пытливый, разберусь.Да и гугл поможет. |
Цитата:
Цитата:
|
+1
|
Новичок: Подскажите пожалуста самый крепкий сорт дерева! Весь инет перерыл, поиском пользовался!
Старожил: Объясни, зачем тебе понадобилось дерево? Сейчас оно в строительстве практически не используется. (и аякс тебе не нужен) Новичок: Я небоскрёб собираюсь строить. Хочу узнать, из какого дерева делать перекрытия между этажами! Старожил: Какое дерево? Ты вообще соображаешь, что говоришь? Новичок: Чем мне нравиться этот форум - из двух ответов ниодного конкретного. Одни вопросы неподелу! Старожил: Не нравится - тебя здесь никто не держит. Но если ты не соображаешь, что из дерева небоскрёбы не строят, то лучше бы тебе сначала школу закончить. Новичок: Не знаите - лучше молчите! У меня дедушка в деревянном доме живёт! У НЕГО НИЧЕГО НЕ ЛОМАЕТСЯ!!! Но у него дом из сосны, а я понимаю, что для небоскрёба нужно дерево прочнее! Поэтому и спрашиваю!!! А от вас нормального ответа недождёшся!!! Прохожий: Самое крепкое дерево - дуб. Вот тебе технология вымачивания дуба в солёной воде, она придаёт дубу особую прочность: Новичок: Спасибо, братан! То что нужно!!! |
Часовой пояс GMT +3, время: 01:32. |