frank10
02-12-2010, 17:53
Ho letto un po' su Ajax e volevo fare uno script che si collega a un server per leggere un testo o ricevere il valore di una variabile.
Lato client ho:
<script type="text/javascript" src="utility.js"></script>
<script type="text/javascript">
var doc = document, win = window;
function Ricevi() {
caricaTesto('indirizzoMioServer/public/Files/PHP/content.php&action=art');
function caricaTesto(nomeFile) {
// assegnazione oggetto XMLHttpRequest con controllo browser:
ajax = assegnaXMLHttpRequest();
// assegnazione elemento del documento
elemento = prendiElementoDaId("p_francesco");
// se l'oggetto XMLHttpRequest non è nullo
if(ajax) {
// impostazione richiesta asincrona in GET
// del file specificato
ajax.open("get", nomeFile, true);
// rimozione dell'header "connection" come "keep alive"
ajax.setRequestHeader("connection", "close");
// impostazione controllo e stato della richiesta
ajax.onreadystatechange = function() {
// verifica dello stato
if(ajax.readyState === readyState.COMPLETATO) {
// verifica della risposta da parte del server
if(statusText[ajax.status] === "OK")
// operazione avvenuta con successo
elemento.innerHTML = ajax.responseText;
else {
// errore di caricamento
elemento.innerHTML = "Impossibile effettuare l'operazione richiesta.<br />";
elemento.innerHTML += "Errore riscontrato: " + statusText[ajax.status];
}
}
}
}
// invio richiesta
ajax.send(null);
} //end carica testo
}
</script>
</head>
<body>
<div >
<p onClick="Ricevi();" id="p_francesco">
prova
</p>
<div>
</body>
</html>
Lato server, ho il file content.php:
<?php
switch($_REQUEST['action']) {
case 'art': $content = "art";break;
case 'bio': $content = "bio";break;
case 'client': $content = "client";break;
case 'pfolio': $content = "pfolio";break;
case 'mail': $content = "mail";break;
}
?>
Mettendo la stessa url nell'indirizzo del browser il file è accessibile.
ajax.readyState è 4, mentre
ajax.status mi dà = 0, invece che 200
Che errore è?
Lato client ho:
<script type="text/javascript" src="utility.js"></script>
<script type="text/javascript">
var doc = document, win = window;
function Ricevi() {
caricaTesto('indirizzoMioServer/public/Files/PHP/content.php&action=art');
function caricaTesto(nomeFile) {
// assegnazione oggetto XMLHttpRequest con controllo browser:
ajax = assegnaXMLHttpRequest();
// assegnazione elemento del documento
elemento = prendiElementoDaId("p_francesco");
// se l'oggetto XMLHttpRequest non è nullo
if(ajax) {
// impostazione richiesta asincrona in GET
// del file specificato
ajax.open("get", nomeFile, true);
// rimozione dell'header "connection" come "keep alive"
ajax.setRequestHeader("connection", "close");
// impostazione controllo e stato della richiesta
ajax.onreadystatechange = function() {
// verifica dello stato
if(ajax.readyState === readyState.COMPLETATO) {
// verifica della risposta da parte del server
if(statusText[ajax.status] === "OK")
// operazione avvenuta con successo
elemento.innerHTML = ajax.responseText;
else {
// errore di caricamento
elemento.innerHTML = "Impossibile effettuare l'operazione richiesta.<br />";
elemento.innerHTML += "Errore riscontrato: " + statusText[ajax.status];
}
}
}
}
// invio richiesta
ajax.send(null);
} //end carica testo
}
</script>
</head>
<body>
<div >
<p onClick="Ricevi();" id="p_francesco">
prova
</p>
<div>
</body>
</html>
Lato server, ho il file content.php:
<?php
switch($_REQUEST['action']) {
case 'art': $content = "art";break;
case 'bio': $content = "bio";break;
case 'client': $content = "client";break;
case 'pfolio': $content = "pfolio";break;
case 'mail': $content = "mail";break;
}
?>
Mettendo la stessa url nell'indirizzo del browser il file è accessibile.
ajax.readyState è 4, mentre
ajax.status mi dà = 0, invece che 200
Che errore è?