Dateien mit Ajax XMLHttpRequest hochladen: Fehler „No Multipart Boundary“ beheben
Beim Versuch, Dateien mit XMLHttpRequest hochzuladen, kann es vorkommen, dass das Problem auftritt Fehler „Die Anfrage wurde abgelehnt, da keine mehrteilige Grenze gefunden wurde“. Um dieses Problem zu beheben, untersuchen wir den bereitgestellten Code und identifizieren die möglichen Ursachen.
Der folgende Codeausschnitt soll eine Datei mit XMLHttpRequest hochladen:
<code class="javascript">var url = "http://localhost:80/..."; $(document).ready(function(){ document.getElementById('upload').addEventListener('change', function(e) { var file = this.files[0]; var xhr = new XMLHttpRequest(); // xhr.file = file; // not necessary if you create scopes like this xhr.addEventListener('progress', function(e) { var done = e.position || e.loaded, total = e.totalSize || e.total; console.log('xhr progress: ' + (Math.floor(done/total*1000)/10) + '%'); }, false); if ( xhr.upload ) { xhr.upload.onprogress = function(e) { var done = e.position || e.loaded, total = e.totalSize || e.total; console.log('xhr.upload progress: ' + done + ' / ' + total + ' = ' + (Math.floor(done/total*1000)/10) + '%'); }; } xhr.onreadystatechange = function(e) { if ( 4 == this.readyState ) { console.log(['xhr upload complete', e]); } }; xhr.open('post', url, true); xhr.setRequestHeader("Content-Type", "multipart/form-data"); xhr.send(file); }, false); });</code>
Um den oben genannten Fehler zu beheben , müssen zwei wichtige Punkte angesprochen werden:
<code class="javascript">... var formData = new FormData(); formData.append("thefile", file); xhr.send(formData); ...</code>
Durch das Erstellen eines FormData-Objekts und das Anhängen der Datei stellen Sie sicher, dass die Daten korrekt strukturiert und für die Verarbeitung auf dem Server bereit sind. Auf die Datei kann nun in $_FILES['thefile'] zugegriffen werden (wenn Sie PHP auf der Serverseite verwenden), sodass Sie sie ordnungsgemäß verarbeiten können.
Bezugnahme auf Dokumentationsressourcen wie MDC- und Mozilla-Demos kann bei solchen Problemen wertvolle Hinweise geben.
Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „Keine mehrteilige Grenze' beim Hochladen von Ajax XMLHttpRequest-Dateien?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!