Ciao ragazzi, sto muovendo i primi passi con ajax, seguendo esempi su internet e varie guide, ma non sono ancora riuscito a capire se è possibile ritornare una variabile o un vettore mediante la richiesta XMLHttpRequest.
codice:
<script type="text/javascript">
//<![CDATA[
var myRequest = null;
function CreateXmlHttpReq(handler) {
var xmlhttp = null;
try {
xmlhttp = new XMLHttpRequest();
} catch(e) {
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
xmlhttp.onreadystatechange = handler;
return xmlhttp;
}
function myHandler2() {
if (myRequest.readyState == 4 && myRequest.status == 200) {
e = document.getElementById("ex4result");
e.innerHTML = myRequest.responseText;
}
}
function esempio4() {
var nome = document.f1.id.value;
var database ="<?php echo $vettoreConnection['db']; ?>";
document.f1.database.value;
var host = "<?php echo $vettoreConnection['host']; ?>";
var user = "<?php echo $vettoreConnection['user']; ?>";
var password = "<?php echo $vettoreConnection['password']; ?>";
var prefix = "<?php echo $vettoreConnection['prefix']; ?>";
myRequest = CreateXmlHttpReq(myHandler2);
myRequest.open("GET","components/com_map/myfile.php?id=" + nome + "&database=" + database + "&host=" + host + "&user=" + user + "&password=" + password + "&prefix=" + prefix);
myRequest.send(null);
}
//]]>
</script>
<form name="f1">
Nome: <input type="input" name="id">
<input type="button" onClick="esempio4()" value="Visualizza cognome" />
Risultato: <div id="ex4result"></div>
</form>
questo è myfile.php
codice:
$conn= mysql_connect($_GET[host], $_GET[user], $_GET[password]) or die("Connessione non riuscita: ".mysql_error());
$sql = "SELECT via, nome FROM ".$_GET[prefix]."map where id=".$_GET['id'];
$result = mysql_db_query($_GET[database],$sql,$conn) or die ("errore " . mysql_error());
$array = mysql_fetch_array($result);
print "VIA: ".$array['via']."
";
?>
in questo caso mi viene modificato il div ex4result con la stampa a video di $array['via'] e fin qui tutto bene. Il problema è che a me non serve visualizzarlo ma passarlo ad un'altra funzione.
Come posso fare?
Grazie.