Moin,
ich habe mich gerade mit Möglichkeiten befasst Ajax-Requests abzubrechen, speziell Ajax-Dateiuploads. Ich habe hier diesen Kommentar gefunden, der sagt, dass der Request trotzdem serverseitig weiterverarbeitet wird. Was ist dann im Falle eines Dateiuploads? Wird die "halbe" Datei dann einfach in das Verzeichnis geschoben, oder merkt der Server, wenn die Datei nicht ganz hochgeladen wurde? Gibt es serverseitig eine Kontrollmöglichkeit um zu testen, ob noch eine Response erwartet wird?
Hier etwas Code:
$.ajax({
url: ifm.IFM_SCFN,
type: "POST",
data: data,
dataType: "json",
xhr: function(){
var xhr = $.ajaxSettings.xhr() ;
xhr.upload.onprogress = function(evt){ ifm.task_update(evt.loaded/evt.total*100,id); } ;
xhr.upload.onload = function(){ console.log('Uploading '+newfilename+' done.') } ;
return xhr ;
},
success: function(data) {
if(data.status == "OK") {
ifm.showMessage("File successfully uploaded", "s");
if(data.cd == ifm.currentDir) ifm.refreshFileTable();
} else ifm.showMessage("File could not be uploaded: "+data.message, "e");
},
error: function() { ifm.showMessage("General error occured", "e"); },
complete: function() { ifm.task_done(id); }
});
Serverseitig behandelt den Request ein einfaches PHP-Skript, welches die hochgeladene Datei in das aktuelle Verzeichnis schiebt.
Grüße Marco
--
Ich spreche Spaghetticode - fließend.
Ich spreche Spaghetticode - fließend.