Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

readyState
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> AJAX
Subiectul anterior :: Subiectul următor  
Autor Mesaj
UnTip



Data înscrierii: 03/Mai/2007
Mesaje: 377

Trimis: Lun Dec 10, 2007 2:59 pm    Titlul subiectului: readyState  

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?
Sus  
UnTip



Data înscrierii: 03/Mai/2007
Mesaje: 377

Trimis: Lun Dec 10, 2007 4:49 pm    Titlul subiectului:  

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...
Sus  
UnTip



Data înscrierii: 03/Mai/2007
Mesaje: 377

Trimis: Mar Dec 11, 2007 1:55 am    Titlul subiectului:  

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
Sus  
dechim



Data înscrierii: 10/Mai/2005
Mesaje: 656
Locație: Drobeta Turnu Severin

Trimis: Mar Dec 11, 2007 2:02 am    Titlul subiectului:  

Cod:
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 ?!
Sus  
UnTip



Data înscrierii: 03/Mai/2007
Mesaje: 377

Trimis: Mar Dec 11, 2007 8:51 am    Titlul subiectului:  

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
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> AJAX
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community