Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    [AJAX] uso di window.location.href.indexOf("http")==-1)

    Ciao.
    Sto trovando in parecchi scripts
    Ajax funzioni del genere:
    Codice PHP:
    function loadpage(page_requestcontainerid){
    if (
    page_request.readyState == && (page_request.status==200 || window.location.href.indexOf("http")==-1))
    document.getElementById(containerid).innerHTML=page_request.responseText

    Di cui non mi è chiaro l'utilizzo.
    A mio modo di vedere window.location.href.indexOf("http")==-1)
    è sempre FALSE (altri protocolli a parte) quindi ...............



    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  2. #2

    ....

    Ho anche trovato questa libreria:
    Codice PHP:
    <script language="JavaScript" type="text/JavaScript">
    function 
    XHConn()
    {
      var 
    xmlhttpbComplete false;
      try { 
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
      catch (
    e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
      catch (
    e) { try { xmlhttp = new XMLHttpRequest(); }
      catch (
    e) { xmlhttp false; }}}
      if (!
    xmlhttp) return null;
      
    this.connect = function(sURLsMethodsVarsfnDone)
      {
        if (!
    xmlhttp) return false;
        
    bComplete false;
        
    sMethod sMethod.toUpperCase();

        try {
          if (
    sMethod == "GET")
          {
            
    xmlhttp.open(sMethodsURL+"?"+sVarstrue);
            
    sVars "";
          }
          else
          {
            
    xmlhttp.open(sMethodsURLtrue);
            
    xmlhttp.setRequestHeader("Method""POST "+sURL+" HTTP/1.1");
            
    xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
          }
    // QUI VAR bComplete
          
    xmlhttp.onreadystatechange = function(){
            if (
    xmlhttp.readyState == && !bComplete)
            {
              
    bComplete true;
              
    fnDone(xmlhttp);
            }};
          
    xmlhttp.send(sVars);
        }
        catch(
    z) { return false; }
        return 
    true;
      };
      return 
    this;
    }
    var 
    myConn = new XHConn();

    if (!
    myConnalert("XMLHTTP not available. Try a newer/better browser.");

    var 
    fnWhenDone = function (pXML) { alert(pXML.responseText); };

    myConn.connect("test.txt""GET","",fnWhenDone);
    </script> 
    Si tratta dello stesso utilizzo ?
    Anche questo utilizzo di bComplete mi spiazza un po.



    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  3. #3
    ma dove li hai trovati questi script ?
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  4. #4

    ............

    Ciao e grazie per l'interessamento.
    Uno qui
    che secondo me è il modo sbagliato di usare Ajax
    Due il classico TAB qui
    (allego il link per completezza)
    Tre la library qui il link è su alistapart
    in questo aticolo

    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  5. #5
    sull'esempio non mi esprimo (un pò dopo) ... sul codice di ALA presumo ci sia un errore.

    Il readyState con valore 4 viene richiamato sempre e comunque una sola volta, è il 3 che può essere richiamato più volte durante il caricamento del contenuto, soprattutto se si carica un xml (node by node).

    readyState 4 è infatto il valore assegnato ad interazione completata (scritto anche sulla mia guida ...)

    La funzione di ALA replica il metodo POST ma non è necessario, l'oggetto avrà già il giusto header una volta definito "post" ed il content-type application/x-www-form-urlencoded.

    Comunque la funzione ALA può andare bene, la booleana serve a niente ma se c'è non fa danno ela ridondanza del post non ne implica il malfunzionamento.


    L'altro codice invece ... non lo comprendo
    page_request.status==200 || window.location.href.indexOf("http")==-1

    in pratica invece di considerare la corretta risposta da parte del server verifica il 200 o la presenza di http nella location che sarà sempre diversa da -1 o non sarà una pagina internet

    avesse scritto
    page_request.status==200 || false
    sarebbe stata la stessa identica cosa ... indexOf("http") su una pagina https avrebbe dato comunque un valore diverso da -1

    Sarebbe da telefonare all'autore e chiedergli cosa aveva in mente quando ha aggiunto quel controllo
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  6. #6

    ...........

    Sarebbe da telefonare all'autore e chiedergli cosa aveva in mente quando ha aggiunto quel controllo
    Mah la penso come te ma mi era sorto il dubbio
    che mi ero pescato qc
    Grazie del chiarimento e della rassicurazione
    che non stavo prendendo fischi per
    La funzione di ALA replica il metodo POST ma non è necessario, l'oggetto avrà già il giusto header una volta definito "post" ed il content-type application/x-www-form-urlencoded.
    Buono a sapersi.


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  7. #7

    ..........

    Ciao di nuovo.
    Dunque prima di postare in questo
    forum avevo provato su google groups
    (You never know ; ) ) senza una risposta
    che chiarisse del tutto i miei dubbi.
    (discussion)
    Ad ogni modo è saltata fuori una cosa
    interessante l'utilizzo di 204 (no content)
    e 206 (partial content) cosa pensi in proposito.
    (Se lo hai sotto mano un esempio non farebbe
    per niente schifo )

    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  8. #8
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Dato che e' possibile richiamare un file .htm da un disco locale piuttosto che dal web, nel primo caso il protocollo sara' file:// (e l'oggetto xmlhttp non funziona) mentre nel secondo e' lecito attendere una risposta.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  9. #9
    Originariamente inviato da br1
    Dato che e' possibile richiamare un file .htm da un disco locale piuttosto che dal web
    io spero tu stia scherzando ... ci manca solo che da internet mi si mettano a leggere i miei files locali ...

    P.S. e non credo l'oggetto si chiami a caso XMLHttpRequest
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  10. #10

    Re: ..........

    Originariamente inviato da whisher
    Ad ogni modo è saltata fuori una cosa
    interessante l'utilizzo di 204 (no content)
    e 206 (partial content) cosa pensi in proposito.
    penso che non sono casi da prendere in condirezione.

    Se non c'è contenuto ma la pagina è restituita dovrebbe darti lostesso 200 .... se il contenuto è parziale non puoi elaborarlo (che sia JSON, XML o xHTML) quindi è giusto "rifugiarsi" nell' errore.

    In Dojo, il framework più serio che io conosca, considerano 200 e 304, fine ... per una lista degli status completa trovi il link sulla guida ... ma come ho detto, le risposte da considerare sono quelle con status 200 ... anche il 304 è rarissimo come caso.
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

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.