Visualizzazione dei risultati da 1 a 6 su 6

Discussione: AJAX e Explorer 8

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    32

    AJAX e Explorer 8

    Salve a tutti...
    ho creato una piccola chat con php e AJAX (di cui sono un novellino....)
    Ho testato il sito con Google Chrome e Mozzilla Firefox e fin qui nessun problema...
    poi ho provato con Explorer 8... ed ecco che il codice per aggiornare la pagina in AJAX non funziona...
    codice:
    function Update()
    {
      return Request();
    }
    window.setInterval("Update()", 3000)
    var XMLHTTP;
    function Request()
    {
      XMLHTTP = GetBrowser(ChangeStatus);
      XMLHTTP.open("GET", "ajax.php", true);
      XMLHTTP.send(null);
    }
    function ChangeStatus()
    {
      if (XMLHTTP.readyState == 4)
      {
        var R = document.getElementById("CHAT");
        R.innerHTML = XMLHTTP.responseText;
      }
    }
    function GetBrowser(FindBrowser)
    {
      if (navigator.userAgent.indexOf("MSIE") != (-1))
      {
        var Class = "Msxml2.XMLHTTP";
        if (navigator.appVersion.indexOf("MSIE 5.5") != (-1));
        {
          Class = "Microsoft.XMLHTTP";
        } 
        try
        {
          ObjXMLHTTP = new ActiveXObject(Class);
          ObjXMLHTTP.onreadystatechange = FindBrowser;
          return ObjXMLHTTP;
        }
        catch(e)
        {
          alert("attenzione: l'ActiveX non sarà eseguito!");
        }
      }
      else if (navigator.userAgent.indexOf("Mozilla") != (-1))
      {
        ObjXMLHTTP = new XMLHttpRequest();
        ObjXMLHTTP.onload = FindBrowser;
        ObjXMLHTTP.onerror = FindBrowser;
        return ObjXMLHTTP;
      }
      else
      {
        alert("L'esempio non funziona con altri browser!");
      }
    }
    questo è il codice... qualcuno sa come aiutarmi??

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    32
    il problema non sono ancora riuscito a risolverlo... xò sto cercando di trovare la parte di codice che mi crea il problema andando per tentativi....

    credo che l'istanza di XMLHttpRequest
    codice:
    if (navigator.userAgent.indexOf("MSIE") != (-1))
      {
        var Class = "Msxml2.XMLHTTP";
        if (navigator.appVersion.indexOf("MSIE 5.5") != (-1));
        {
          Class = "Microsoft.XMLHTTP";
        } 
        try
        {
    	  ObjXMLHTTP = new ActiveXObject(Class);
          ObjXMLHTTP.onreadystatechange = FindBrowser;
          return ObjXMLHTTP;
        }
        catch(e)
        {
          alert("attenzione: l'ActiveX non sarà eseguito!");
        }
      }
    possa andar bene anche per IE 8... e quindi il problema resta nell'invio della domanda al file AJAX.php.... posto il codice nella speranza che qualcuno sappia cm aiutarmi!!
    Codice PHP:
            $file=array_reverse(file("Archivi\General.txt"));
        foreach(
    $file as $riga)
        {
            echo 
    $riga;
        } 

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    32
    per dare ulteriori informazioni spiego il NON FUNZIONAMENTO DEL CODICE SU IE 8:

    Allora... quando carico la pagina per la prima volta la pagina funziona correttamente... ma nei successivi caricamenti, anche inserendo altri messaggi non apporta nessuna modifica alla pagina, anche se il file txt viene modificato correttamente... con altri browser nn ho questo problema... xkè??

    cercando nel forum ho trovato questa discussione... http://forum.html.it/forum/showthrea...readid=1392865

    e ho modificato il mio codice della pagina ajax.php in questo modo...
    Codice PHP:
    $file=array_reverse(file("Archivi\General.txt"));
        foreach(
    $file as $riga)
        {
            
    $testo.= $riga;
        }
        echo 
    $testo;
        
    fclose($file); 
    risultato?? niente... come prima... HELP!!!

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    poi ho provato con Explorer 8... ed ecco che il codice per aggiornare la pagina in AJAX non funziona...
    Un po troppo generico... forse è il problema che ha ie versioni precendenti (non verificato con la 8) della cache per le chiamate in modalità GET, per oviare appendi alla richiesta ajax un numero random (fai una ricerca sul forum argomento apiamente trattato)
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    32
    Originariamente inviato da cavicchiandrea
    Un po troppo generico... forse è il problema che ha ie versioni precendenti (non verificato con la 8) della cache per le chiamate in modalità GET, per oviare appendi alla richiesta ajax un numero random (fai una ricerca sul forum argomento apiamente trattato)
    Grazie mille! intraprendo subito la ricerca!!

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    32
    Originariamente inviato da cavicchiandrea
    Un po troppo generico... forse è il problema che ha ie versioni precendenti (non verificato con la 8) della cache per le chiamate in modalità GET, per oviare appendi alla richiesta ajax un numero random (fai una ricerca sul forum argomento apiamente trattato)
    Grazie mille!!! risolto!!
    Bastava mettere il numero random nella chiamata!!! Posto il codice:
    codice:
    function Request()
    {
      XMLHTTP = GetBrowser(ChangeStatus);
      XMLHTTP.open("POST", "ajax.php?rnd="+Math.random(), true);
      XMLHTTP.send(null);
    }

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.