So che questo è un po 'paradossale perché XMLHttpRequest non dovrebbe ricaricare la pagina, ed è l'intero punto di esso.Come evitare il ricaricamento automatico della pagina dopo la chiamata XMLHttpRequest?
Provato in Chrome ultima versione, Safari su iOS e su Android. Tutto lo stesso risultato.
Sto inviando un modulo attraverso di esso, con i file. Funziona alla grande, il sito di destinazione riceve correttamente i dati e li visualizza. Invia un 200, "OK". (È facebook)
Ma poi la mia pagina si ricarica automaticamente. Proprio come se avessi inviato il modulo utilizzando il modulo HTML e un pulsante di invio. (Che era il mio problema originale)
Ecco come lo faccio, da JavaScript
// Get the form element
var formData = new FormData(document.getElementById("photosubmitform"));
var xhr = new XMLHttpRequest();
xhr.open('POST', 'https://graph.facebook.com/' + facebookWallId + '/photos', false);
xhr.onload = function(event)
{
var json = xhr.responseText; // Response, yay!
}
xhr.send(formData); // Sending it, will reload the page on success...
Funziona! Aggiunto al tag
Non avevo idea che il modulo sarebbe stato attivato inviandolo tramite una xhr. – daivuk
Ottimo! Grazie per questo, ha reso la mia giornata. – Benvorth