Vai al contenuto
  • 0

La proprietà di caricamento XMLHttpRequest non funziona


trattore

Domanda

Tengo a segnalare che la proprietà XMLHttpRequest non funziona più con l'aggiornamento alla versione 4.6, ho un form dove uso questa modalità  e richiamando l'evento progress non mi fa più vedere la barra della percentuale caricata, speriamo fissino il problema.

ps: funziona solo premendo f5 e svuotando la cache, ma se ricaricate la pagina, si blocca, in ogni pagina, anche sulle  page MANAGEMENT

Link al commento
Condividi su altri siti

7 risposte a questa domanda

Messaggi raccomandati

  • 0
  • Admin

Ciao, ne sei sicuro? XMLHttpRequest è una funzione Javascript, IPS non può deprecare una funzione di una libreria... può deprecare solo gli helper creati da lui, ecco qui quelli deprecati con la 4.6:

INVISIONCOMMUNITY.COM

We took the opportunity for some spring cleaning and to clean up the 4.6 code, so we have finally removed most of the methods which were...

Mi sento più da dire che sia un problema di compatibilità... controlla che la 4.6 non abbia qualche script che vada in conflitto con il tuo...

Link al commento
Condividi su altri siti

  • 0
<form id="data" method="post" enctype="multipart/form-data">
  <input name="up_vid" type="file" id="up_vid"/>
  <br><br>
  <button id="uploadBtn">Begin Upload</button>
</form>

<br><br>
<div id="status">PROGRESS HERE</div>

<script>
$(document).ready(function() {
    $("#uploadBtn").click(function() {
        var formData = new FormData($('#data')[0]);
        console.log(formData);
        $.ajax({
            url: "/echo/html/",
            type: 'POST',
            data: formData,
            xhr: function() {
                var xhr = new window.XMLHttpRequest();
                xhr.upload.addEventListener("progress", function(evt) {
                    if (evt.lengthComputable) {
                        var percentComplete = evt.loaded / evt.total;
                        console.log(percentComplete);
                        $('#status').html('<b> Uploading -> ' + (Math.round(percentComplete * 100)) + '% </b>');
                    }
                }, false);
                return xhr;
            },
            success: function(data) {
                $("#status").html('UPLOADED!!');
            },
            cache: false,
            contentType: false,
            processData: false
        });
        return false;
    });
});
  </script>

Non funziona ovunque, potete anche testarlo voi, create una page, poi inserire questo codice, funziona solo una volta, premendo ctrl + f5 rifunziona, ma poi se non si prema quest'ultimo non fà, prima non dava problemi alla versione 4.5, ora riscontro sempre questo problema, quello di sopra è un test creato per rendere l'idea di cosa parlo, se volete provarlo poi mi fate sapere se a voi funziona senza cliccare ctrl +f5 dopo gli aggiornamenti della pagina, grazie

Link al commento
Condividi su altri siti

  • 0
  • Admin
22 minuti fa, trattore ha scritto:

non da nessun errore in console, purtroppo, andra sicuramente in conflitto con qualcosa

Ti è possibile cambiare il nome a addEventListener? comunque prova a mettere il codice pure in una Pages senza usare il template del forum, guarda lì se smette di funzionare

Link al commento
Condividi su altri siti

  • 0

non penso, dovranno fixare qualcosa loro per risolvere il problema, prima funzionava perfettamente, nel javascript_global del tema, sicuramente

Link al commento
Condividi su altri siti

  • 0

ed ecco cosa faceva conflitto, ho scoperto la magagna, sul body c'è questa condizione if

{{if output.globalControllers}}data-controller='{expression="implode( ',', output.globalControllers )"}'{{endif}}  

che rilascia sul html

 data-controller="core.front.core.app,core.front.widgets.manager"

basta togliere app, e ora non c'è più conflitto, spero di non aver fatto casino togliendo la parola app sul data, ho testato e sembra funzionare bene...  qualcuno sa per caso se mi sono limitato in qualcosa? a che serve il data controller

Link al commento
Condividi su altri siti

Crea un account o accedi per lasciare un commento

Devi essere un membro per lasciare un commento

Crea un account

Iscriviti per un nuovo account nella nostra community. È facile!

Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.

Accedi Ora
  • Chi sta navigando   0 utenti

    • Nessun utente registrato visualizza questa pagina.
×
×
  • Crea Nuovo...

Informazioni importanti

Abbiamo inserito dei cookies nel tuo dispositivo per aiutarti a migliorare la tua esperienza su questo sito. Puoi modificare le impostazioni dei cookie, altrimenti puoi accettarli cliccando su continua. to insert a cookie message.