Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [ajax] spiegazione di un codice?

    allora... prima di tutto ci tengo a dire che in quanto programmazione web sono informato solo su jquery, html, css, php, quindi con questi linguaggi non ho mai fatto richieste asincrone, quindi decisamente non riesco a capire praticamente niente (scusate per la mia ignoranza) nelle guide trovate in rete riguardanti ajax. Quindi adesso sto cercando di trovare dei codici in giro e cercare di capire cosa significano. Vi posto un codice trovato(la pagina primo.php contiene una semplice frase)
    codice:
    var myRequest = null;
    
    function CreateXmlHttpReq(handler) {
      var xmlhttp = null;
      xmlhttp = new XMLHttpRequest();
      xmlhttp.onreadystatechange = handler;
      return xmlhttp;
    }
    
    function myHandler() {
        if (myRequest.readyState == 4 && myRequest.status == 200) {
            alert(myRequest.responseText);
        }
    }
    
    function esempio3() {
        myRequest = CreateXmlHttpReq(myHandler);
        myRequest.open("GET","primo.php");
        myRequest.send(null);
    }
    </script>
    <input type="button" value="Clicca per lanciare la richiesta" onClick="esempio3()" />
    vi spiego le poche cose che penso di aver capito e poi vi chiedo la moltitudine di informazioni non chiare.
    nella funzione function CreateXmlHttpReq(handler) si crea un nuovo oggetto XMLHttpRequest, ovvero il valore della variabile xmlhttp. Poi, quando lo stato è cambiato (credo nella connessione), si attiva l'header(che non so cosa sia) e infine la funzione CreateXmlHttpReq assume il valore della variabile xmlhttp.

    function myHandler() ----> non ho capito niente
    function esempio3() -----> prima riga non chiara, seconda è una sorta di form get e terza riga nn ho capito.

    Riassumendo, indico i punti che non ho chiaro

    xmlhttp.onreadystatechange = handler; -------> ?

    function myHandler() --------------------------> ?

    function esempio3() ---------------------------> ?

    e poi infine vi chiedo gentilmente se aveste trovato in giro per la rete una guida di ajax per "novellini" che sia facile e comprensibile, ho provato a guardare la guida di questo sito, ma mentre per gli altri linguaggi, html.it mi è stato ancor più che utilissimo, per quanto riguarda questa guida il mio livello su questo linguaggio è troppo basso per seguirlo. Per quanto riguarda i linguaggi come c++ o VB ecc. mi sono trovato benissimo, imparando quasi subito, ma questo linguaggio mi porta fuori strada, non perchè non abbia le conoscenze di javascript o html o jQuery o php ecc. , ma perchè proprio non riesco a seguire i passaggi.

    Grazie per la lettura e...
    tutto si può fare, bisogna solo volerlo
    http://italybrain.altervista.org/

  2. #2
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Ma infatti è pieno di codice inutile quell'esempio. Comincia con l'analizzare questo:

    codice:
    <!doctype html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Esempio</title>
    <script type="text/javascript">
    function myHandler () {
    	alert(this.responseText);
    }
    
    function esempio3 () {
    	var myRequest = new XMLHttpRequest();
    	myRequest.onload = myHandler;
    	myRequest.open("GET", "primo.php");
    	myRequest.send(null);
    }
    </script>
    <input type="button" value="Clicca per lanciare la richiesta" onClick="esempio3();" />
    </script>
    </head>
     
    <body>
    
    </body>
    </html>
    Tutto ciò che fai con jQuery puoi farlo meglio e con la metà del codice in puro JavaScript.

  3. #3
    adesso è un po' più chiaro, provo a capirci qualcosa
    function myHandler () {
    alert(this.responseText);
    }

    è la funzione che fa scrivere all'interno dell'alert il responso, ovvero il testo scritto nella pagina primo.php
    function esempio3 () {
    var myRequest = new XMLHttpRequest();
    myRequest.onload = myHandler;
    myRequest.open("GET", "primo.php");
    myRequest.send(null);
    }

    crea un oggetto XMLHttpRquest. Quando esso viene caricato richiama la funzione myHandler e invia la richiesta con metodo get alla pagina primo.php

    Ho dedotto bene?

    però ho delle domande

    1 = Che cosa è quel this alla riga 2?

    2 = quando bisogna inserire il new davanti ad un oggetto?

    ciao e grazie mille del chiarimento
    tutto si può fare, bisogna solo volerlo
    http://italybrain.altervista.org/

  4. #4
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Originariamente inviato da g.b99pm10
    1 = Che cosa è quel this alla riga 2?
    in questo caso this è l'oggetto myRequest dell'altra funzione: qui si chiama this.
    https://developer.mozilla.org/en-US/...Operators/this


    Originariamente inviato da g.b99pm10
    2 = quando bisogna inserire il new davanti ad un oggetto?
    new non si mette davanti a un oggetto, ma davanti a un costruttore!
    https://developer.mozilla.org/en-US/.../Operators/new

    Tutto ciò che fai con jQuery puoi farlo meglio e con la metà del codice in puro JavaScript.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.