lore_83
17-10-2008, 11:05
Ciao a tutti.
Mi sto adoperando per cercare di capire qualcosa con ajax.
L'obiettivo sarebbe quello di utilizzare questa tecnologia per aggiornare un campo del database al click di un bottone e quindi sostituire al bottone una scritta.
Questo è l'HTML
<form>
<button id="***" type="submit" onclik="prova(param1, param2)">
</button>
</form>
Questa il javascript
function prova(param1, param2){
ajax = setXMLHttpRequest();
if (ajax==null)
{
alert ("Browser does not support HTTP Request")
return
}
var url;
url = "***.php?";
url += "param1="+param1;
url += "¶m2="+param2;
ajax.onreadystatechange=stateChanged;
ajax.open("GET",url,true);
ajax.send(null);
}
function stateChanged()
{
if (ajax.readyState==4 || ajax.readyState=="complete")
{
document.getElementById("***").innerHTML=ajax.responseText
}
else
{
document.write="Attendere prego...";
}
La setXMLHttpRequest ve la risparmio, tanto ce ne sono 13000 in rete.
Il problema è, almeno credo, che quando viene data la risposta, questa viene reinviata ad una pagina tipo xyz.php mentre la pagina di partenza era xyz.php?chiave=valore, cioè si perde il GET di partenza e quindi ottengo un errore. Ma ancora peggio è che il database non viene aggiornato (la pagina php normalmente fa il suo lavoro, quindi non è lì il problema), quindi non so nemmeno se vi si accede a questa pagina.
Quali verifiche posso fare e come eventualmente posso ovviare?
Grazie.
Mi sto adoperando per cercare di capire qualcosa con ajax.
L'obiettivo sarebbe quello di utilizzare questa tecnologia per aggiornare un campo del database al click di un bottone e quindi sostituire al bottone una scritta.
Questo è l'HTML
<form>
<button id="***" type="submit" onclik="prova(param1, param2)">
</button>
</form>
Questa il javascript
function prova(param1, param2){
ajax = setXMLHttpRequest();
if (ajax==null)
{
alert ("Browser does not support HTTP Request")
return
}
var url;
url = "***.php?";
url += "param1="+param1;
url += "¶m2="+param2;
ajax.onreadystatechange=stateChanged;
ajax.open("GET",url,true);
ajax.send(null);
}
function stateChanged()
{
if (ajax.readyState==4 || ajax.readyState=="complete")
{
document.getElementById("***").innerHTML=ajax.responseText
}
else
{
document.write="Attendere prego...";
}
La setXMLHttpRequest ve la risparmio, tanto ce ne sono 13000 in rete.
Il problema è, almeno credo, che quando viene data la risposta, questa viene reinviata ad una pagina tipo xyz.php mentre la pagina di partenza era xyz.php?chiave=valore, cioè si perde il GET di partenza e quindi ottengo un errore. Ma ancora peggio è che il database non viene aggiornato (la pagina php normalmente fa il suo lavoro, quindi non è lì il problema), quindi non so nemmeno se vi si accede a questa pagina.
Quali verifiche posso fare e come eventualmente posso ovviare?
Grazie.