Pappe
12-01-2011, 18:11
Sto cercando di capire un po' come funziona ajax e volevo visualizzare i risultati di una query in questo modo.
ho fatto una pagina php che "simula" la query e crea l'array che deve essere passato al javascript:
$start = $_GET['start'];
for($i=0;$i<$start;$i++)
$array[$i]=$i;
$enc = json_encode($array);
echo $enc;
mentre questa è la parte javascript+html
<script type="text/javascript">
function ajaxRequest(url, method, data, asynch, responseHandler) {
var request = new XMLHttpRequest();
request.open(method, url, asynch);
if (method == "POST")
request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
request.onreadystatechange = function() {
if (request.readyState == 4) {
if (request.status == 200) {
responseHandler(request.responseText);
}
}
};
request.send(data);
var div = document.getElementById("div1");
div.innerHTML = data;
}
function getArray(start) {
ajaxRequest('prova.php?start=', 'GET', start, true, showArray);
}
function showArray(response) {
var div = document.getElementById("div2");
div.innerHTML = response;
}
</script>
<div id="div1"></div>
<div id="div2"></div>
<form name="page">
<input type="button" value="Go" onClick="getArray(4)">
</form>
il contenuti di div1 è (ovviamente) sempre giusto, mentre quello di div2 (il mio output) è sempre "null".
qualche idea?
Grazie :D
ho fatto una pagina php che "simula" la query e crea l'array che deve essere passato al javascript:
$start = $_GET['start'];
for($i=0;$i<$start;$i++)
$array[$i]=$i;
$enc = json_encode($array);
echo $enc;
mentre questa è la parte javascript+html
<script type="text/javascript">
function ajaxRequest(url, method, data, asynch, responseHandler) {
var request = new XMLHttpRequest();
request.open(method, url, asynch);
if (method == "POST")
request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
request.onreadystatechange = function() {
if (request.readyState == 4) {
if (request.status == 200) {
responseHandler(request.responseText);
}
}
};
request.send(data);
var div = document.getElementById("div1");
div.innerHTML = data;
}
function getArray(start) {
ajaxRequest('prova.php?start=', 'GET', start, true, showArray);
}
function showArray(response) {
var div = document.getElementById("div2");
div.innerHTML = response;
}
</script>
<div id="div1"></div>
<div id="div2"></div>
<form name="page">
<input type="button" value="Go" onClick="getArray(4)">
</form>
il contenuti di div1 è (ovviamente) sempre giusto, mentre quello di div2 (il mio output) è sempre "null".
qualche idea?
Grazie :D