Premetto che sono alle prime armi e conosco le basi di javascript e qualcosa di php.
Trovandomi in necessità di eseguire del codice php su richiesta dell'utente, alla pressione di un pulsante, ho scoperto ajax. Ho fatto qualche prova, ma mi sono bloccato su questo codice, presumo banale, che non riesco a far funzionare:
codice:function assegnaXMLHttpRequest() { var XHR = null, browserUtente = navigator.userAgent.toUpperCase(); if(typeof(XMLHttpRequest) === "function" || typeof(XMLHttpRequest) === "object") XHR = new XMLHttpRequest(); else if(window.ActiveXObject && browserUtente.indexOf("MSIE 4") < 0) { if(browserUtente.indexOf("MSIE 5") < 0) XHR = new ActiveXObject("Msxml2.XMLHTTP"); else XHR = new ActiveXObject("Microsoft.XMLHTTP"); } return XHR; }; function invia() { alert('invia'); ajax = assegnaXMLHttpRequest(); if(ajax) { alert('ajax'); document.getElementById("stato").innerHTML = "Operazione in corso..."; dati = form1.testo.value; ajax.open("POST", "http://localhost/ajax2.php", false); alert('ajax open'); ajax.setRequestHeader("content-type", "application/x-www-form-urlencoded"); ajax.send(dati); alert('ajax send'); ajax.onreadystatechange = function() { if(ajax.readyState === 4) { alert('4'); if(ajax.status==200){ alert(ajax.responseText); document.getElementById('stato').innerHTML = ajax.responseText; } else{ alert('Non funziona!'); } } else { alert(ajax.readyState); } } } }ajax2.php:codice:<body> <form id="form1"> <input type="text" id="testo" value="2500k" > <input type="button" onclick="invia();" value="Invia" id="pulsante"> <input type="text" id="risposta" value="" disabled="true"> <input type="text" id="stato" value="" disabled="true"> </form> </body>
Eseguendolo gli alert arrivano fino a 'ajax send', poi non succede nulla.Codice PHP:<?php
$dati=$_POST;
echo "Ciao!";
echo $dati;
?>
E anche l'istruzionesembra non funzionare.codice:document.getElementById("stato").innerHTML = "Operazione in corso...";
Dove sbaglio?
Grazie a chi saprà darmi una mano
edit: scusate, ora fondamentalmente funziona
Però l'istruzione con innerHTML non va lo stesso. E anche nel php sbaglio a stampare i dati, come dovrei fare?



Rispondi quotando