![]() |
|
Introduzione ad Ajax ed Asp con Jscript
Concesso in esclusiva da ASP Center - E' vietata la pubblicazione senza espresso consenso del proprietario
Passiamo alla pratica con un esempio basilare, per certi versi di nicchia, da un pundo di vista del suo utilizzo, ma ottimo per entrare nella mentalità di AJAX. Il risultato sarà l'estrazione dei dati specificati in una casella di testo. I dati saranno contenuti in un array redatto in ASP (quindi lato server, alla stessa stregua di un estrazione di dati da un database, per intenderci) e saranno estratti con la velocità dello scripting lato client e, soprattutto, senza inviare la richiesta al server perchè viene gestita da AJAX. Passiamo alla pratica, iniziando dal modulo HTML dell'esempio che inseriremo nel <body> della pagina di cui al ajax.html:
<script type="text/javascript" src="ajax.js"></script>
<h1>Cerca un nome</h1>
<form name="m">
<input type="text" name="n">
<input type="button" value="Cerca" onclick="RichiestaAJAX(document.m.n.value)">
</form>
<div id="nomi"></div>
Abbiamo innanzitutto un'inclusione lato client del file Javascript che esamineremo a breve, poi il modulo composto dalla sola casella di testo (che richiama la funzione Javascript all'evento onclick del bottone, passando come parametro il suo stesso valore), e poi un elemento di testo vuoto a cui assegnamo un ID; in quest'ultimo verranno offerti i dati estratti dalla ricerca per iniziale, qualora ve ne siano a disposizione.Passiamo al codice Javascript, contenuto nel file ajax.js. I nomi utilizzati per le funzioni sono piuttosto esplicativi in relazione al compito che svolgono:
var XMLHTTP;
function RichiestaAJAX(stringa)
{
if (stringa.length > 0)
{
var url = "ajax.asp?nome=" + stringa;
XMLHTTP = QualeBrowser(GestioneStato);
XMLHTTP.open("GET", url, true);
XMLHTTP.send(null);
}
else
{
document.getElementById("nomi").innerHTML = "";
}
}
function GestioneStato()
{
if (XMLHTTP.readyState == 4)
{
var R = document.getElementById("nomi");
R.innerHTML = XMLHTTP.responseText;
}
}
function QualeBrowser(QualeBrowser)
{
if (navigator.userAgent.indexOf("MSIE") != (-1))
{
var Classe = "Msxml2.XMLHTTP";
if (navigator.appVersion.indexOf("MSIE 5.5") != (-1));
{
Classe = "Microsoft.XMLHTTP";
}
try
{
OggettoXMLHTTP = new ActiveXObject(Classe);
OggettoXMLHTTP.onreadystatechange = QualeBrowser;
return OggettoXMLHTTP;
}
catch(e)
{
alert("Errore: l'ActiveX non verrà eseguito!");
}
}
else if (navigator.userAgent.indexOf("Mozilla") != (-1))
{
OggettoXMLHTTP = new XMLHttpRequest();
OggettoXMLHTTP.onload = QualeBrowser;
OggettoXMLHTTP.onerror = QualeBrowser;
return OggettoXMLHTTP;
}
else
{
alert("L'esempio non funziona con altri browser!");
}
}
L'unica riga da tener presente (dato che il resto del codice è abbastanza simile a tutte le casistiche di impiego di AJAX) è la seguente:
var url = "ajax.asp?nome=" + stringa.toUpperCase();Si fa riferimento al file ASP da utilizzare e relativi parametri via querystring, valorizzati dal parametro interno della funzione di richiamo trasformati sempre e comunque in minuscolo. Passiamo al codice ASP, contenuto nel file ajax.asp, opportunamente commentato nei suoi passaggi salienti:
<%@LANGUAGE = JScript%>
<%
// CREO L'ARRAY CONTENENTE I DATI
var nomi = new Array();
nomi[1] = "Alberto";
nomi[2] = "Alessandro";
nomi[3] = "Alessio";
nomi[4] = "Alfonso";
nomi[5] = "Alfredo";
nomi[6] = "Bruno";
nomi[7] = "Ciro";
nomi[8] = "Claudio";
nomi[9] = "Davide";
nomi[10] = "Dario";
nomi[11] = "Donato";
nomi[12] = "Ernesto";
nomi[13] = "Francesco";
var nome = Request.QueryString("nome");
// RICERCO IL NOME ALL'INTERNO DELL'ARRAY PER FORNIRE L'OUTPUT
if (nome != "")
{
var elenco = "";
for (var i=1; i<nomi.length; i++)
{
if (nome == nomi[i].substring(0, nome.length))
{
if (elenco == "")
{
elenco = nomi[i];
}
else
{
elenco += ", " + nomi[i];
}
}
}
}
// VERIFICO SE C'E' UNA CORRISPONDENZA O MENO NELLA RICERCA
if (elenco == "")
{
Response.Write("Nessun risultato...");
}
else
{
Response.Write(elenco);
}
%>
Si provi dunque a digitare un nome all'interno della casella di testo del file HTML, dopo averlo richiamato nel browser all'indirizzo:
http://localhost/ajax.html |
IN EVIDENZA
Una slidegallery con jQuery
Pagamenti online con PayPal e PHP
Breve guida a jQuery
Effetto ombra su testo con Photoshop
Guadagna col tuo sito grazie a TradeD...
Guida XHTML
Riscrivere le URL con Asp
Riavviare IIS
HTTP 500 internal server error
Generare password casuali in Javascri...
Errore 80004005: Cannot update. Datab...
Introduzione ad Ajax ed Asp con Jscri...
Referenze dei Tag Html
Stringhe di connessione via ODBC e Ol...
Referenze dei fogli di stile Css
Le espressioni regolari in Javascript
|
||||
© 2001/2010 lukeonweb.net - A cura di Luca Ruggiero, Partita IVA 05564851219 -
Privacy |
Pubblicità |
Contatti
| |||||