Visualizzazione dei risultati da 1 a 6 su 6

Discussione: ajax ie8

  1. #1

    ajax ie8

    Salve io utilizzo un ajax di questo tipo:
    function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser== "Microsoft Internet Explorer"){
    ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
    ro = new XMLHttpRequest();
    }
    return ro;
    }

    var http = createRequestObject();

    function sndReq(file,action,loader) {

    document.getElementById(loader).style.display="inl ine";


    http.open("get", file+"?action="+action, false);

    http.send(null);
    if(http.status == 200){
    var response = http.responseText;

    var splitString = response.split("#####");
    var text1 = splitString[0];
    var text2 = splitString[1];
    document.getElementById(loader).style.display="non e";
    document.getElementById(text2).innerHTML = text1;

    }else {
    alert("Si è verificato un errore: \n" + http.status + " - " + http.statusText);
    }

    }

    quando effettuo la chiamata rendo inline un div per mostrare un gif per il preload. quando il contenuto è stato caricato lo rendo di nuovo non visibile.
    Con firefox va benissimo, mentre con explorer sembra che la pagina si blocchi in attesa che termini la chiamata ajax.
    Come posso fare? pre vedere il preload anche ie8. un link di esempio
    http://www.srperformance.it/ABBIGLIA...TE.xhtml?id=57
    quando scelgo la taglia con ie8 la pagina si blocca mettendosi in attesa e non mostra il preload con firefox funziona bene.
    grazie

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Forse perché stai facendo una chiamata sincrona
    http.open("get", file+"?action="+action, false);
    prova a renderla asincrona
    http.open("get", file+"?action="+action, true);
    il motivo perché con firefox non "riscontri" l'anomalia e con IE si (il blocco) potrebbe essere dato dal motore interno dei browser che gestisce le richieste, con IE9 non dovrebbe più accadere avendo un motore più performante
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    il problema non è la chiamata sincrona o asincrona.
    se commento document.getElementById(text2).innerHTML = text1;
    il preload si vede. onestamente non riesco a capire
    chiamo la funziona in questo modo
    <select name="regione" onChange="sndReq('provinciaAjaxIscrizione.php',thi s.value,'loaderProvinciaIscrizione')" style="background:#e8e8e8" id="regione" >
    <option>......</option>
    </select>

    il contenitori sono
    <div id="loaderProvinciaIscrizione">[img]images/loadernero.gif[/img]</div>
    per il preload come stile ha display:none

    <div id="provinciaIscrizionePP"></div>
    mostra il contenuto dell'ajax

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Se lo dici non insisto, anche se ho forti dubbi, attenzione hai scritto cose che secondo me non centrano col problema (rilleggi il tuo ultimo post), ma che potrebbero confondere, attendi commenti/consigli più inluminanti/corretti.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    scusmi probabilmente ti ho detto che non funzionava in modo asincrono perchè non andava ma solo ora mi sono accorto che c'era un errrore javascript.
    la trasformazione in asincrona facendo solo questo non funziona

    http.open("get", file+"?action="+action, false);
    prova a renderla asincrona
    http.open("get", file+"?action="+action, true);

    cosa altro mi manca per farla funzionare?

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Indicativamente nulla, ma non ho tempo di studiarmi il codice, visto che nella pagina usi già jquery sviluppa anche questa richiesta
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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.