Jump to content
  • 0

La proprietà di caricamento XMLHttpRequest non funziona


trattore
 Share

Question

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 to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 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 to comment
Share on other sites

  • 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 to comment
Share on other sites

  • 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 to comment
Share on other sites

  • 0

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

Link to comment
Share on other sites

  • 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 to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. to insert a cookie message.