
Originariamente inviata da
pietro09
Allora, rispondo un po' in ritardo.
Il codice l'ho collaudato con visual studio, in una pagina aspx, ininfluente in questo contesto, perchè stiamo discutendo di codice client.
Secondo, è ininfluente come si chiama il codice: ci sono tanti modi. Io ho usato quello proposto dall'autore del post.
codice:
<a href="#" onclick="prova();return false;">test</a>
<br /><br />
<a href="javascript:prova();">test</a>
<br /><br />
<input id="Button1" type="button" value="button" onclick="prova();" />
<br /><br />
<input id="Submit1" type="submit" value="submit" onclick="prova();return false;" />
<br /><br />
<button onclick="prova();return false;">Test</button>
<br /><br />
<p onclick="prova();" style="cursor:pointer;">prova</p>
Il codice originale non funzionava (credo) per quelle parti che ho segnato in rosso e per questo:
if(http.readyState == 4 && httpRequest.status == 200)
sostituito con
if (http.readyState == 4 && http.status == 200)

Carissimo Pietro, io non sto dicendo nulla sul fatto di chiamare Aspx o PHP o ASP... dato che è codice Client... ma nei client ci possono esere versioni vecchie e nuove di browser e questi possono piu o meno chiamare AJAX come fai tu...
codice:
var http = new XMLHttpRequest();
http.onreadystatechange = function()
{
...
oppure essere piu generici e usare questo
codice:
if (window.XMLHttpRequest) {
update_record = new XMLHttpRequest();
update_record.onreadystatechange = ElaboraRisposta;
update_record.open("GET","InsProfessione.asp?"+datiform, true);
update_record.send(null);
// branch for IE/Windows ActiveX version
} else if (window.ActiveXObject) {
update_record= new ActiveXObject("Microsoft.XMLHTTP");
if (update_record) {
update_record.onreadystatechange = ElaboraRisposta;
update_record.open("GET","InsProfessione.asp?"+datiform, true);
update_record.send();
}
}
...
che come ti dicevo prima di leggere nel post... cerca di utilizzare quello
che trova sul client per chiamare AJAX e non mi riferivo a chiamate aspx, PHP o ASP; anche se mischiare
PHP e ASPX hanno diversita nel trattare le sessioni ma si puo' fare tranquillamente...
con questo non voglio farti nessuna obiezione sul modo di lavorare ognuno scrive il
codice come si sente di scrivere basta che funzioni e che sia leggibile inc caso di
manutenzione...
con questo ti saluto