View Full Version : Ajax + xml
texerasmo
04-05-2007, 12:17
Raggazi sto impazzendo
Faccio questa cosa ...
function firstAjax(){
alert("Start");
var url="/cst/a.php";
var pars="nome=erasmo";
var myAjax= new Ajax.Request(url,
{
method :'post',
parameters : pars,
onComplete: complete,
onFailre: reportError
}
);
}
function complete(originalRequest){
alert("tutto ok");
alert ( originalRequest.responseText);
var a = originalRequest.responseXML.getElementsByTagName('mino');
alert (a);
}
function reportError(){
alert("niente tutto ok");
}
</script>
la pagina a.php è fatta in questo modo
<mino>
<?php
$test = $_POST['nome'];
echo $test;
?>
</mino>
Io vorrei prendermi un valore che c'è nel tag mino
Nella pagina php hai specificato nell'header che é XML?
Poi, mettici un tag root sopra...il tutto dovrebbe uscire così
<?php
header('Content-Type: text/xml');
echo "<?xml version=\"1.0\" ?>\n";
echo "<root>\n";
echo "<mino>" . $_POST['nome'] . "</mino>\n";
echo "</root>";
?>
edit ma non é onFailure comunque sopra? Hai messo onFailre... Non so, io non utilizzo quella libreria :)
texerasmo
04-05-2007, 12:44
ok ora come posso prende il valore di mino?
questo mi ritorna
var a = originalRequest.responseXML.getElementsByTagName('mino');
objcet
originalRequest.responseXML.getElementsByTagName('mino').item(0).firstChild.data;
Sopra ho dimenticato
echo "<?xml version=\"1.0\" ?>\n";
sorry (ora l'ho editato)
texerasmo
04-05-2007, 13:52
la mia domanda è come posso prendere i valori nell
la mia domanda è come posso prendere i valori nell
originalRequest.responseXML.getElementsByTagName('mino').item(0).firstChild.data;
texerasmo
04-05-2007, 16:36
grazie funge
texerasmo
04-05-2007, 16:41
un'altra cosa
function firstAjax(){
alert("Start");
var url="/teg/include_corpo_login.php";
var pars="lat6=0&lat7=0";
var myAjax= new Ajax.Request(url,
{
method :'post',
parameters : pars,
onComplete: complete,
//asynchronous:true,
//frequency:5,
onFailre: reportError
}
);
}
function complete(originalRequest){
//alert("tutto ok");
alert ( originalRequest.responseText);
var xmldoc = originalRequest.responseXML;
var id = xmldoc.getElementsByTagName('id');
var mess2 = xmldoc.getElementsByTagName('mess2');
var mess3 = xmldoc.getElementsByTagName('mess3');
var mappa = xmldoc.getElementsByTagName('mappa');
document.getElementById('mappa').src="motore/"+mappa.item(0).firstChild.data+".jpg";
}
<img src="" id="mappa" alt=""></a>
</body>
</html>
io vorrei generare questa richiesta ogni 10 secondi come posso fare?
ho pensato ad utilizzare
var myAjax= new Ajax.PeriodicalUpdater($('mappa'),url,
{
method :'post',
parameters : pars,
onComplete: complete,
asynchronous:true,
frequency:5,
onFailre: reportError
}
);
ma non mi funziona
oppure di metter nellea funziona
complete setTimeout(firstAjax(),5000);
tu che ne pensi
texerasmo
07-05-2007, 09:43
Grazie ho risolto
Andava
onSuccess :complete,
al posto di
onComplete: complete,
Una cosa se ho un xml fatto in questo modo
<root>
<comuni>
<citta>formia
<citta>gaeta
<citta>....
come posso ciclarmi tutti i comninui citta?
con xsl non ho pb ma in js si
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.