readyState

Discutii legate de AJAX, jQuery, MooTools, Prototype, Dojo, Yahoo! UI Library,script.aculo.us, ExtJS,AngularJS, Backbone.js, Ember.js, KnockoutJS

Moderator: Moderatori

Avatar utilizator
UnTip
Senior Member
Mesaje: 389
Membru din: Joi Mai 03, 2007 1:55 pm

readyState

Mesajde UnTip » Lun Dec 10, 2007 2:59 pm

am o problema..
nu prea ma prind...
am pe onclick o functie...raspundeMesaj

var xmlHttp = creazaXmlHttprasp();
var iddiv;
var idraspuns;

function creazaXmlHttprasp()
{
var xmlHttp;
// pentru IE
if(window.ActiveXObject)
{
try
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
xmlHttp = false;
}
}

else
{
try
{
xmlHttp = new XMLHttpRequest();
}
catch (e)
{
xmlHttp = false;
}
}

if (!xmlHttp)
alert("Nu s a putut crea obiectul XMLHttpRequest .");
else
return xmlHttp;
}

function raspundeMesaj(idraspuns,iddiv)
{



if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
{


try{


var raspuns = document.getElementById(idraspuns).value;
var test="workworkwork...";

}catch(e){
alert(e.message);
return;
}

xmlHttp.open("GET", "phpservices/a_raspundemail.php?test=" + test + "&raspuns=" + raspuns , true);


xmlHttp.onreadystatechange = gestioneazaRezultatrasp(iddiv);


xmlHttp.send(null);
}
}






function gestioneazaRezultatrasp(iddiv)
{



if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
{

if (xmlHttp.status == 200)
{

raspuns = xmlHttp.responseText;

try{




document.getElementById(iddiv).innerHTML = raspuns;

}catch(e){
alert(e.message);
return;

}

}

else
{
alert("Problema la accesare: " + xmlHttp.statusText);
}
}


if(xmlHttp.readyState<4 && xmlHttp.readyState!=0 ){
document.getElementById(iddiv).innerHTML = '<img src="../images/ajax/loading.gif" />';
//~ alert(xmlHttp.readyState);
}
}


faza e ca imi ramane in status 1.... nu ma prind ... any ideeas?


"Nothing has such power to broaden the mind as the ability to investigate systematically and truly all that comes under thy observation in life. "

Avatar utilizator
UnTip
Senior Member
Mesaje: 389
Membru din: Joi Mai 03, 2007 1:55 pm

Mesajde UnTip » Lun Dec 10, 2007 4:49 pm

am gasit o greseala insa asta nu-mi rezolva problema .. tot readystate 1 ramane... habar n-am din ce cauza se intampla asta n-are chiar nimeni idei ?
reseala era ca facema o variabila raspuns document.getElementById(idelement).value si mai jos in functia care-mi gestiona rezultatul faceam tot raspuns = xmlHTTP.responseTxt sau cv de genul insa asta nu-mi rezolva pb...
"Nothing has such power to broaden the mind as the ability to investigate systematically and truly all that comes under thy observation in life. "

Avatar utilizator
UnTip
Senior Member
Mesaje: 389
Membru din: Joi Mai 03, 2007 1:55 pm

Mesajde UnTip » Mar Dec 11, 2007 1:55 am

e aproape doua si innebunesc, mi-a zis un coleg c-ar putea fi de la o conexiune neinchisa la baza de date... ... buulshit

hai.. astept un wiseguy sa-mi bage lanterna-n ochi
"Nothing has such power to broaden the mind as the ability to investigate systematically and truly all that comes under thy observation in life. "

dechim
Senior Member
Mesaje: 1486
Membru din: Mar Mai 10, 2005 11:53 pm
Localitate: Drobeta Turnu Severin

Mesajde dechim » Mar Dec 11, 2007 2:02 am

Cod: Selectaţi tot

function raspundeMesaj(idraspuns,iddiv)
{
   if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
   {
      try
      {
         var raspuns = document.getElementById(idraspuns).value;
         var test="workworkwork...";
      }
      catch(e)
      {
         alert(e.message);
         return;
      }

      xmlHttp.open("GET", "phpservices/a_raspundemail.php?test=" + test + "&raspuns=" + raspuns , true);


      xmlHttp.onreadystatechange = gestioneazaRezultatrasp(iddiv);


      xmlHttp.send(null);
   }
}


Nu inteleg functia asta. De unde xmlHttp.readyState == 4 cand abia mai jos initializezi cererea (chiar in corpul if-ului), de la alta cerere anterioara? AJAX in AJAX ?!

Avatar utilizator
UnTip
Senior Member
Mesaje: 389
Membru din: Joi Mai 03, 2007 1:55 pm

Mesajde UnTip » Mar Dec 11, 2007 8:51 am

de fapt e ceva de felul urmator...
o functie care-mi aduce intr-un iframe niste rezultate... dinamic... adica.. imi aduce rezultatul iframe prin ajax, ce e in iframe e o paginare a mai multori rezultate aduse dintr-o baza de date mysql, rezultate... care sunt puse in niste textareas, fiecare testareas avand un id, sub fiecare testarea care nu e disabled existand un div in care este aruncat rezultatul

LE : explicatia cu functia ar fi in felul urmator,
interactioneaza cu obiectul doar cand acesta e in readyState 4 sau 0... insa
miracol AM REZOLVAAAAAAAAAAAAAAAAAAAAAAAAAATTTTTTTTTT!!!!!!!! dupa 10 ore de infern
...................................................................................
xmlHttprasp.onreadystatechange = xxx;



// trimitem cererea catre server
xmlHttprasp.send(null);
}

//~ function

function xxx () {
// daca rezultatul este obtinut
gestioneazaRezultatrasp(iddiv);

}
.........................................................................................



gestioneazaRezultatrasp, nu putea lua ca parametru o variabila deoarece sintaxa ar fi fosti incorecta... avea ca parametru un eveniment... de accea a trebuit sa fac functia intermediara XXX, ceea ce nu e chiar corect nici asta insa imi functioneaza..... merci oricum
"Nothing has such power to broaden the mind as the ability to investigate systematically and truly all that comes under thy observation in life. "


Înapoi la “Librarii Javascript”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 22 vizitatori