Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Bentes

[Resolvido] Exibir imagem com Ajax

Recommended Posts

Bom, estou com o seguinte problema:

 

preciso gerar um background a partir de Ajax só que o ajax não me retorna a imagem somente texto.

Estou usando o código abaixo:

 

try {
         ajax = new ActiveXObject("Microsoft.XMLHTTP");
      } 
      catch(e) {
         try {
            ajax = new ActiveXObject("Msxml2.XMLHTTP");
         }
	     catch(ex) {
            try {
               ajax = new XMLHttpRequest();
            }
	        catch(exc) {
               alert("Esse browser não tem recursos para uso do Ajax");
               ajax = null;
            }
         }
      }
     hPage=document.body.clientHeight;
	 wPage=document.body.clientWidth;
     ajax.open("GET",'geraBgBase.php?img=img/bgs/30.jpg&h='+hPage+'&w='+wPage, true);
     ajax.send(null);
	 
	 ajax.onreadystatechange = function(){
									if(ajax.readyState==4){
										img = new Image();
										img.src = ajax.responseText;
										document.body.style.background='url('+img.src+')';
    								}
								}

o arquivo geraBgBase.php está funcionando pois ja testei sem o ajax.

alguem poderia me ajudar por favor?

Obrigado

 

o img.src me retorna http://localhost/.../... /temp/%D1%8F%D0%A8%D1%8F%D0%B0

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum... mas o teu arquivo cria imagens? randomiza elas?

 

se você acessar diretamente:

alert( ajax.responseText );

 

o arquivo existe lá? o caminho está certo no alert ?

 

se não, você vai precisar colocar como background, o proprio arquivo.. ai não vejo necessidade de usar ajax.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O alert(ajax.responseText) me retorna o seguinte:

 

яШяаJFIFяю<CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 100

яЫCяЫCяАtљ"яД

яДµ}!1AQa"q2Ѓ‘Ў#B±БRСр$3br‚

%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzѓ„…†‡€‰Љ’“”•–—™љўЈ¤Ґ¦§Ё©ЄІіґµ¶·ё№єВГДЕЖЗИЙКТУФХЦЧШЩЪбвгдежзийкстуфхцчшщъяД

яДµw!1AQaq"2ЃB‘Ў±Б #3RрbrС

$4б%с&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ѓ„…†‡€‰Љ’“”•–—™љўЈ¤Ґ¦§Ё©ЄІіґµ¶·ё№єВГДЕЖЗИЙКТУФХЦЧШЩЪвгдежзийктуфхцчшщъяЪ?ю,бNёэџеЊхйыЮ"GPIЗ8пћЯ‡я_±AъzgЇ·Ї­I$2>Ыђ8?зхЇ<ьјђHJгqг'йЙьъъуU$’D+dO#ЫП¦=кBpЎЏR:ћN9OФЊ}1‹ЦЦr·М3ћз’гћх1–™ЯvмьцЅџеи{If=э?џЧРу[Ђ|™=ъшъT0iн3ґе±Ж;Й<зЇ™5vlF„ЙЖOQУЇя[µ)JnmFк†њ·Сн+щ^ыm`3&8lъsщUБм9јuя9©Ш†$–$sШ`ЏNsЏN•ZH·фхг?JҐQNT“УгтvOъухJу@н‘ЧйюЗЦ–гJiКМа+Gрз¶zуш~®ќЪ¤±?xх'=;tзџЗ·zиБ>XP

;>§сњЦ2ДЄЦ…Я№­џ}§хҐЂЕ€ђЄ{аЏ®Я”и#УҐ,p–”0#

ллЏк*сЃqСъьјg·O^}кэЌ™2„Ъ­‘Ома_^}ЕsFф©є‰o»їщnEIrEЛУ·WжEgj†@HЙ8Пж~µ№$.C1eиS :аушUшtYxeёдchхг‚2;ХЛ}

Y¤-&А«’v•ПqЧрзJjRj+вЭ’“M(¶–ЅХќџ[[MЋg€У~ћ^^^‡­І§’Цd*-‚ ЭБЭЂxафлйЦіљЮ –$т@эаџaюµиqxyeЊЬ‹»# ЧхПбWG†aЯd*Ћ»”(<`9я9«д}Чхэ?йй[ютыЅ?Пр}Џ<ЉО9@'аї•?ы>Dё\*1Њ:Ћ3юzW7‡ѕО7ЗґcыЎWЊаgsфькмі"¤Љя…І;дЊъъrOt®O®Чї]4Яь>~ЅmµцvУл———џблnQ¬Yњ2Єd.9ъ“эkJТЙ›+2®Я—O^pr:^шЫCЈщ]bБU\Ћјgк3ъTгJЋK`Ѓ‚Чpг=F?”TЄзio$›ѕєЫфWЭєчwэ—§еУТьъ4nДЏ‘щЋrHфЖ2LЦYрЄЬНу8ы.NбСіґгЋї|Г5лQiцч#КdІзњф93W‘m^RЖ:дтyg~ёЇ.xћIr¶–Э;ЫььцfДUжq†ЦZmЅЇж·ЧУ®§—Gб[hV4

тг%ЂПуРчхлЦє­?ГpГv&щ9мFтгТєI`KeP±)м Ж>Э;ZћЉХоppёфь»У†-rЛUУ§GТЯ?БьвДкЯЪіь·ыяШЙMЭЫў¤)З±З§9зЏjРя„~ЧG8йшџNзьцн†HњаuЗ\ц9#$уПгQҐдт&TмПP¤Ё8Ии8з9=kЉҐgV\‰ЮОя—]^нmтїJn«шцйл§щїљ}‰WNґЂђ±EАЛeI%‡<qИАjW†М(‘Ў‹ ї!9й“О1њЉЗyњ‚МЯ0b#9АкO©9ъTђИHl–8*лшw?—Ѕ]x™IBWцmkgm4Юя+€Х†-6бCIЙQ€схфюњgТдV–BВЇ©#’—>ѕµ†TпP¬TИЂHъУЋЖґв‘"^¤ҐЂ9йЬЋNЫн=‚¶Ъ%ЭЩ[MъЯдпійГч^Dqю¤э1џЇ·йN‘мЮ2‹(fИQУџZж/uOЮ2ЖmЗМЈk ОHњхпњ

З:Дл'–¤гЂNNpyлњћ?Zдћ/ПСЫЅґнЯТЪЃЮЪЬZ†YLf?”Џ'єбxъэ{уZН{i1F6РX7ъЈя,ЗїУкqп^gф›ќsЂTдг$/>њћэ}}kfЗ1GЊѓЋ аћqйћюьу\т©хЌ=?OутZyІkA8§Э+юййшќ>«ykuJ¶Цлґ·ьІОrдvЩъЧ3<¶о?ФА9"цпњuЗlTт:™*K&6’вFбшуT¬ноH$”SИ-ђFqЊ9#ъTэ_™*}¬·фwї¤ї»ћ*Й.Е»Xa‘b‹rЋћPИБ=z`ф«ИЦjаxјО0Lcз‚yдn«‰

ЖInEа‚Ј SЏзTђЗ№#‚9?ЛяХлDrъTХЪэзД“ЧGn«іїООиRЌЭпТЯЏхэl“щ3њј6я'э2хЗїя[Ц’$Ь,PЏыf=}xэ*f‰d•"є°И'лЬгРсъTЦР"еєц=qяЦюTйаЭI~щ{‘ЦќхµЪжь-ўо\#Ллї/жЛцcў·#ћLy=yя>њVР·…—ж†ЯџъeЧЮЁE)ЏpГћ[’yх<ы}8йЉРЉајnY#ЃЂ=№нП8ОEz”pў“‚MЩ-4ЭGЛжпъXж—сЈяТЉЇ§А[1ГnЇ1w=;wЗщйV УmЩ

№дф‹ї¦ ялS ЬТ+dЊ?LрGѕ3њcњг­mЩ№2H…

@$фгиAјхжґ©…ґ$мХ•х~kьяЅ†R‡Hґf

!‡х€cЃћНљЩґСlвЛyЬЋuЗnЬяџХЖ}Є[h1ВЂ3“ЃйТџ,т”АЕзтхҐ:}¶эVП~Ю·ЧҐфIM‰5µЂЫ9ьЪЄb$И[k|дзч?џ?_oйUд,X•;N{?—ЎҐЊИЗЋЭzћ@Й<хьлік”;~~_жюп0Ha” ¶

3Ѓеtлпоyлэk=Ѕ’ЭonHя¦=03љіs"Жи»ЩNРHQБОцдu'>ќЄ7Й†њ`r;рЬЋ3ЧЇ·5u§m?%ъюЮ;/Eщ‹+ Бoі[ьЄїтЛ¦sЏLзњvЕX†ТЕ#$ZЫ’1ЂbгУь.ЅйЦЎ6ЩдЂ1ЯлЋёншв­ђ±ьИ@Ж]ЈЋxъЧ<иFRnЭv·Ь“ЩяVх¶SшџЛтDРГhбs§ЪхбЉ0s»ѓњЋї§µY’ЦО5-цkыхпПїo\ФizЖ&F'

2T.[NzЋхVвь‹V ЃЂHъgййшUSГ»=:щщ_ќµµГgлъ"іАн·¶иzД=юћХEЪ-moпы®№дч8лйЧНRјГ9щzзэzЌbЮкR;rн‘’У°иЅ:.-Ѕ®їЛ»хяЃСК<ЦЧoшGЦЋЩы-ї?фЛЁпьЅ*ъНe6°xяUъсйПщйЖZП1u$cњtв¶]ЛЄ©$Њg·шuнЏТЄt]HёoНoБ§ш5ч+‘м›УGльюп»dGm,Б#·¶уЊЕРдђ}Ѕйe[yK[Лol

©ЪD<рH>№ИSЯ?ќPy¦·E%‚фГ'КагКагщюtИ.7№bмТЊ¶I99'>¤ЏsћјЦI{5мЭ—6ќ?»чьј»йЊиy[ъ_?ѕюZЪЪG&D|Ј#чXдsЫрпУ5Rъ;7\5µ№ню«їQфгЏкjдЂBЮk>е8Ь'

8l:а{ъu¬Bеd Вд.9р:sOлW]љ[ьЈэmУМЮ…

ґ[ьюППkоєjЊЫз¶ЉD"ВnЅеT·Ъ»щћD›hяSэРvцхпT/'уH%г±ЙЗjЛљсв1ЄЫњЗН‚}zфИp;W%LEъхїЮЧЛЇџЄ;ўAi2(x Иа~з >ћзьхXО6

ѓq?№лЋќ»f№©.с

Н№”6A#’1ћёг§зH.f)тA’w`фБлУ=~•НUуAK{«ю(НРжnVЯЧЛПъын°"Ѓж»

ћbџх]HПcњpП|й ЌСАF{Cѓѓђ?3ЏКЄ%ДЄ®¶\†8fЋz“ЯЏ_В«<ОBњз–$ћЅЗЇт®Uьњї&TaИ№~~—-П%·1]?єџ©ьxЁ&є[~(1я\Џlя“лъЦ|Н#0!›Ћџ1~}є~UU•ж/№ъqП=GnxляЦ®eсKюЭьЌ#kл±yuhK~х"$дЂ"8=—Ґ^унg@ноnыHы¬@а8Д\E*ЛтКДdУћѓћџзЉњґЎСc‘Ж1“ёЂIддП§JЦїOХ©6­~їЧжя­СnbQЃ<whч=8•PёФmЖC¤@щvГОюp:gфзµsІПseЮ =уРcњЋ'Ї|VЬ4“*ОТm26¶pЬаањcзнТ®щ~hЏeЛ®єYојјї«?#·юУ„

НOЊЂП#ПЧ‘[¶љ•јК†HbtVFW_ж+“‚ЯэZ,’2ђН·<Њг=xгЧЯ95У[Щ§–§,З°'‚xАПgяХXЋЧУѕ†ЎЦўYµќ»$g8т†HАлщ}OзZцъН­ХНЅ°і·ЏнGo+1Еж0]Еzђ2gЏЖё·ЉAїж ЊЏпr0=8ҐT№Ъ#у@2Ќ¤0$†R ‚x#

 

preciso gerar o background assim para ele se ajustar à resolução do usuário

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então você não vai conseguir mesmo..

 

tente assim:

 

if(ajax.readyState==4){
	document.body.style.background="url('geraBgBase.php?img=img/bgs/30.jpg&h="+hPage+"&w="+wPage+"')";
}

 

mas ai te pergunto:

pra quê usar ajax??

 

em que momento você está disparando essa requisição ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

show de bola!

Obrigado, assim funcionou, falta so ajustar os tamanhos exatos. Qualquer problema posto aqui denovo.

Estou usando no window.onload para gerar um bg que se ajusta ao tamanho da tela do usuário.

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

então deixa eu falar de novo... você não precisa de ajax Imagem Postada

 

se é 'só pra isso', poderia fazer sem ajax

 

apenas assim, deve funcionar:

window.onload = function(){       hPage=document.body.clientHeight;       wPage=document.body.clientWidth;       document.body.style.background="url('geraBgBase.php?img=img/bgs/30.jpg&h="+hPage+"&w="+wPage+"')";}
Imagem Postada

 

teoricamente, o resultado vai ser o mesmo..teste ai.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.