Oppure

Loading
29/10/12 22:43
sottaceto
Salve a tutti!

Non capisco perchè questo codice mi richiama correttamente solo una funzione per volta fra

xmlAvvisiPost(strURL);
xmlScacchieraPost(strURL);
xmlMossePost(strURL);

Se le lascio tutte e tre i dati richiesti spesso non vanno a finire nei DIV giusti.

le suddette funzioni sono analoghe a quella scritta sotto ma non richiamano altre funzioni a loro volta e non hanno il "setTimeout".

può essere un problema di connessioni multiple?

Qualcuno sa aiutarmi?

Grazie!


function xmlTurnPost(strURL) 
{
var xmlHttpReq = false; //Inizializzo l'oggetto xmlHttpReq
var self = this;
self.xmlHttpReq = new XMLHttpRequest()
self.xmlHttpReq.open('POST', strURL, true);
self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
self.xmlHttpReq.send('yourTurn=1');			
self.xmlHttpReq.onreadystatechange = function() 
{
	if (self.xmlHttpReq.readyState == 4) //Se lo stato è completo
	{ 	
		if (self.xmlHttpReq.responseText != yourTurn)
			{
				xmlAvvisiPost(strURL);
				xmlScacchieraPost(strURL);
				xmlMossePost(strURL); 
				yourTurn=self.xmlHttpReq.responseText;
			}
		setTimeout("xmlTurnPost('"+strURL+"')",5*1000);
	}
}
}



poi nel c'è l'istruzione nel body:

 <body onload= "xmlTurnPost('aggiornachat.php');"> 
aaa
30/10/12 10:27
Mte90
senza il codice delle altre funzioni è difficile capire il problema...
aaa
31/10/12 7:11
HeDo

ma usare jquery?
aaa
31/10/12 8:11
bazzilla
Postato originariamente da HeDo:


ma usare jquery?


Perchè scusa? Non penso che riscrivendo un codice con jquery si risolva un problema a prescindere dalla sua natura...

Così "a spanne" direi che è un problema di closure, ma concordo con il fatto che è necessario tutto il codice per capire cosa non funziona.
aaa
31/10/12 16:16
Roby94
Postato originariamente da bazzilla:

Postato originariamente da HeDo:


ma usare jquery?


Perchè scusa? Non penso che riscrivendo un codice con jquery si risolva un problema a prescindere dalla sua natura...

Forse non risolve ma ormai grandissima parte dei siti implementa jQuery, ci sarà un motivo. Poi le richieste ajax con jQuery sono gestite molto meglio solo da parte del framework.
aaa
06/11/12 8:57
bazzilla
Postato originariamente da Roby94:


Forse non risolve ma ormai grandissima parte dei siti implementa jQuery, ci sarà un motivo.


Credo che il motivo trainante sia la grande disponibilità di script e plug-in in JQuery già pronti...ma è opinione personale.

Postato originariamente da Roby94:


Poi le richieste ajax con jQuery sono gestite molto meglio solo da parte del framework.


Qui è ignoranza mia che non uso mai JQuery, ma cosa intendi per "sono gestite molto meglio"? Dietro le API AJAX di JQuery non c'è sempre l'oggetto XMLHttpRequest?
aaa