Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Problema Firefox-AJAX

  1. #1

    Problema Firefox-AJAX

    Ciao a tutti,

    Sto facendo un'applicazione web con Ajax ho notato che se con Internet Explorer non si pone alcun problema mentre con Firefox si (dunque con l'oggetto XMLHttpRequest).

    Aggiungo che:

    -Con Internet Explorer funziona correttamente.
    -Dalla "Console degli errori" di Firefox non noto nulla di 'anomalo'.
    -Le funzioni javascript vengono in generale correttamente elaborate da Firefox.
    -Dai vari alert che ho disseminato nel file .js di ajax ho verificato che l'oggetto XMLHttpRequest viene correttamente instanziato e arriva fino alla funzione send correttamente, il problema è che non richiama la funzione che gli passo nella onreadystatechange, infatti l'alert che vi ho messo all'inizio non compare.
    -Tutti i file di php e js risiedono sullo stesso server e nella stessa cartella.
    -Il server ha sistema operativo Linux-Debian, con l'ultima versione di Apache e di PHP.

    Di seguito il codice principale:

    function load_menu(user) {
    ...
    if (window.XMLHttpRequest) {
    xhr =new XMLHttpRequest();
    }
    else if(window.ActiveXObject)
    {// code for IE7, IE6, IE5
    xhr =new ActiveXObject("Microsoft.XMLHTTP");
    }
    if (xhr!=null)
    {
    ...
    xhr.onreadystatechange=Menu;
    xhr.open("GET","Backend.php?user="+user,false);
    xhr.send(null);
    ...
    }

    function Menu()
    {
    alert('in menu');
    .....
    }


    Cosa potrebbe essere? perchè entra nella funzione load_menu ed instanzia l'oggetto corretto arrivando fino alla fine correttamente ma non entra nemmeno nella funzione Menu ???

    Grazie anticipatamente.

  2. #2
    fai la function Menu così:

    codice:
    function Menu(){
       if (xhr.readyState==4){
          // 4 = "loaded"
          if (xhr.status==200){
             // 200 = OK
             alert('in menu');
          }
          else{
             alert("Problema");
          }
       }
    }
    I DON'T Double Click!

  3. #3
    Allora come prevedevo Explorer mi dà l'alert correttamente con "in menu", Firefox non mi ha dato nulla.. nessun pop-up, non è entrato proprio in Menu ..

  4. #4
    strano... puoi postare il codice completo di load_menu()?
    I DON'T Double Click!

  5. #5
    var xhr=null;

    function load_menu(user){

    if (window.XMLHttpRequest)
    {// code for Firefox, Opera, IE7, etc.
    xhr =new XMLHttpRequest();
    }
    else if(window.ActiveXObject)
    {// code for IE7, IE6, IE5
    xhr =new ActiveXObject("Microsoft.XMLHTTP");
    }
    if (xhr!=null)
    {

    xhr.onreadystatechange=Menu;

    xhr.open("GET","Backend.php?user="+user,false);

    xhr.send(null);

    }else { alert("Your browser does not support XMLHTTP."); }

    return true;
    }

  6. #6
    Ma perché non la fai asincrona?
    I DON'T Double Click!

  7. #7
    ....bella domanda

    Ho messo il flag a true e funge!!! sorry errore stupido, l'avevo lasciato così dopo aver fatto delle prove su vecchi lavori, scusa ancora e grazie

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.