Ich glaube, dass jeder oft Datei -Upload -Vorgänge in seiner Arbeit verwendet. Da ich am Front-End arbeite, stelle ich hauptsächlich die Operationen von Ajax im Front-End ein. Ich habe viel Code weggelassen, nimm einfach JS
$.ajaxFileUpload({ url:'www.coding/mobi/file/uploadSingleFile.html',//process image script secureuri :false, fileElementId :'image2',//file control id. It is input type="file" id="image2" dataType : 'json', success : function (data, status){ console.log(data); }, error: Funktion (Daten, Status, e) {alert (e);}})Nach dem Tutorial gibt es kein Problem, wenn Sie auf diese Weise hochladen, aber es hat immer einen Fehler gemeldet. Ich habe vergessen, was gemeldet wurde. Es tut mir leid, denn ich erinnere mich, dass ich diesen Artikel wieder gut gemacht habe, nachdem ich ihn lange verwendet habe, aber wenn ich seinen Quellcode ändern muss, kann der Fehler gelöst werden.
Der letzte Absatz seines Quellcode sieht so aus
UploadHttpdata: Funktion (r, Typ) {var data =! Typ; Data = type == "xml" || Daten? R. Responsexml: R. responsetext; // Wenn der Typ "Skript" ist, bewerten Sie ihn im globalen Kontext, wenn (type == "script") jQuery.globaleval (Daten); // Erhalten Sie das JavaScript -Objekt, wenn JSON verwendet wird. if (type == "json") eval ("data =" + data); // Skripte in html if (type == "html") jQuery ("<div>"). HTML (Daten) .evalscripts (); // alert ($ ('param', data) .each (function () {alert ($ (this) .attr ('value');})); Daten zurückgeben; }Ändern Sie diesen Absatz dazu
UploadHttpdata: Funktion (r, Typ) {var data =! Typ; Data = type == "xml" || Daten? R. Responsexml: R. responsetext; // Wenn der Typ "Skript" ist, bewerten Sie ihn im globalen Kontext, wenn (type == "script") jQuery.globaleval (Daten); // Erhalten Sie das JavaScript -Objekt, wenn JSON verwendet wird. if (type == "JSON") {// Da JSON -Daten von <pre> Tag abgeschlossen werden, gibt es ein Problem. Fügen Sie nun den folgenden Code hinzu, // aktualisieren von hzy var reg = /<pre.+?>(.+)<//pre>/g; var result = data.match (reg); result = regexp. $ 1; // Enddaten aktualisieren = $ .Parsejson (Ergebnis); // eval ("data =" + data); // Skripte in html} if (type == "html") jQuery ("<div>"). HTML (Daten) .evalscripts (); // alert ($ ('param', data) .each (function () {alert ($ (this) .attr ('value');})); Daten zurückgeben; }Dies wird normal funktionieren.
Ein weiterer Fall: AjaxFileUpload berichtet diesen Fehler jQuery.HandleError ist keine Funktion
Nur Versionen vor Version 1.4.2 haben HandlerError -Methode. Die im Beispiel verwendete JQuery ist 1.2. Lösung:
Um weiterhin AjaxFileUpload zu verwenden, um unsere Anhänge hochzuladen
HandleError: Funktion (s, xhr, status, e) {// Wenn ein lokaler Rückruf angegeben wurde, feuern Sie es, wenn (s.Error) {s.error.call (s.context || s, xhr, Status, e); } // den globalen Rückruf if (s.global) {(s.context? JQuery (s.context): jQuery.event) .trigger ("ajaxError", [xhr, s, e]); }}Weitere aufregende Inhalte finden Sie in den speziellen Themen "Ajax Upload Technology Summary", "JavaScript -Datei -Upload -Vorgangsübersicht" und "JQuery Upload Operation Summary" für das Lernen.
Die oben genannte Lösung für das Problem der Meldung von Fehlern in ajaxUpload.js. Ich hoffe, es kann Ihnen helfen, die Schwierigkeiten zu lösen. Ich hoffe auch, dass Sie weiterhin auf aufregende Inhalte auf Wulin.com achten werden.