Creazione di un TreeView Ajax Html




Questo esempio utilizza i dati HttpRequest ottenere da un back-end fonte (database) e generare un Ajax attivato treeview.


La parte più importante della funzionalità AJAX è il codice per la connessione al back-end sistema che consente la comunicazione asincrona, senza dover effettuare alcun aggiornamento schermo. Sappiamo come l'Ajax. Il XmlHttpRequest, ma decorate in modo diverso implementato nel browser principale esegue il tasto funzione che permette questo tipo di comunicazione. La funzione consente al client di comunicare con il server (PHP, Ruby, Python, Java, .NET, altro) senza aggiornare la schermata, e potrei aggiungere, anche un utente di continuare a lavorare, mentre i dati vengono recuperati modulo server .

Vediamo il codice; prima di impostare una variabile per contenere l'oggetto XMLHttpRequest, accanto alla funzione, GetDocListingsReq, che prende un parametro URL che rimanda al sistema di back-end, quindi creare un rispondono XmlHttpRequest HttpRequest oggetto. Il onreadystatechange è un evento che si attiva ogni volta che si cambia lo stato e regioni che funzionano a chiamare ogni cambiamento di stato. Altre variabili impostate Http HTTP operazioni; POST o GET, intestazione variabile ottiene anche l'URL di agire e invia il comando per aprire l'URL.

Come i cambiamenti di stato, la funzione viene richiamata GetDocListingResp, che monitora lo stato della richiesta HTTP; uno ReadyState = 4 significa che la richiesta è finita e la risposta è pronta per il viaggio di ritorno al client chiamante; il http.status = 200 significa che tutto va bene. Queste operazioni devono essere controllati ogni volta che viene eseguita un'operazione che ha una performance di server di Ajax.

Una volta che lo stato = 200 è ricevuto, il testo di risposta può essere assegnato ad una variabile e il ricevitore in grado di determinare html ricevuto il testo di risposta. Nel nostro esempio, un elemento div che riceve il testo di risposta HTTP.





httpreq var = null; Funzione GetDocListingsReq (url) { // Firefoc, Chrome, Safari o Opera if (window.XMLHttpRequest) { window.XMLHttpRequest httpreq = nuovo; } else { try { // Microsoft httpreq = new ActiveXObject ("Msxml2.XMLHTTP.3.0"); } catch (ex) { try { // Vecchia versione di Microsoft IE 6 e precedenti httpreq = new ActiveXObject ("Microsoft.XMLHTTP"); } Catch (s) { alert ("Impossibile recuperare documenti"); return false; } } } httpreq.onreadystatechange = GetDocListingResp; httpreq.open ("post", url, true); httpreq.setRequestHeader ("Content-type", "www-form-urlencoded-x application /"); httpreq.setRequestHeader ("Connection", "vicino"); httpreq.send (); } Funzione GetDocListingResp () { if (httpreq.readyState == 4) { if (httpreq.status == 200) { risultato = httpreq.responseText; document.getElementById ('docListings') innerHTML = risultato.; } Else { alert ('C'è stato un problema con la richiesta.'); } } }

Risposta HTTP dovrebbe avere il seguente formato per questo progetto a lavorare TreeView

Del testo

Un'altra scheda



Questa funzione viene chiamata quando un utente fa clic su un nodo div. A seconda identificazione che viene passato alla funzione, sia il topsheet è nascosto o non nascosta, o uno degli elementi sub div. La variabile è assegnato il tronco e superiore di elementi div clic nascosti nodi foglia o figlio di sotto di essa.

ExpandCollapse Function (divid) { var = divid_str divid.id; divid_sstr divid_str.substr var = (0, 8); var = divid_hex divid.id.substr (8 divid.id.length); interruttore (divid_sstr) { caso "categoria": tronco var = document.getElementById (divid_str); Scheda var = document.getElementById (+ 'subdcats' divid_hex); trunk.style.cursor = 'puntatore'; leaf.style.cursor = 'puntatore'; trunk.onclick = function () { if (leaf.style.display == 'none') { leaf.style.display = 'block'; } Else { leaf.style.display = 'none'; } } break; 'subdcats case ": tronco var = document.getElementById (divid_str); Scheda var = document.getElementById (+ 'subdcats' divid_hex); trunk.style.cursor = 'puntatore'; leaf.style.cursor = 'puntatore'; trunk.onclick = function () { if (leaf.style.display == 'none') { leaf.style.display = 'block'; } Else { leaf.style.display = 'none'; } } break; } } Funzione GetXMLViewData () { GetDocListingsReq ('http: // urlToOpenâ); }

La funzione viene chiamata GetXMLViewData thrugh l'evento onload corpo. Div elementi annidati possono avere molti nodi se lo si desidera. Basta aggiungere un altro caso di funzione ramo expandCollapse.

(0)
(0)

Commenti - 0

Non ci sono commenti

Aggiungi un commento

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Caratteri rimanenti: 3000
captcha