ฉันเชื่อว่าทุกคนมักใช้การดำเนินการอัปโหลดไฟล์ในงานของพวกเขา เนื่องจากฉันกำลังทำงานในส่วนหน้าฉันจึงแนะนำการดำเนินงานของ AJAX เป็นหลักในส่วนหน้า ฉันละเว้นรหัสจำนวนมากเพียงแค่ใช้ JS
$ .ajaxFileUpload ({url: 'www.coding/mobi/file/uploadsinglefile.html', // สคริปต์ภาพกระบวนการ SecureUri: false, filelementId: 'image2', // รหัสควบคุมไฟล์) ข้อผิดพลาด: ฟังก์ชั่น (ข้อมูล, สถานะ, e) {แจ้งเตือน (e);}})ตามการสอนไม่มีปัญหาหากคุณอัปโหลดด้วยวิธีนี้ แต่มันได้รายงานข้อผิดพลาดเสมอ ฉันลืมสิ่งที่รายงาน ฉันขอโทษเพราะฉันจำได้ว่าต้องแต่งหน้าบทความนี้หลังจากใช้เป็นเวลานาน แต่ถ้าฉันต้องการแก้ไขซอร์สโค้ดของมันข้อผิดพลาดสามารถแก้ไขได้
ย่อหน้าสุดท้ายของซอร์สโค้ดมีลักษณะเช่นนี้
uploadhttpdata: ฟังก์ชั่น (r, type) {var data =! type; data = type == "xml" || ข้อมูล ? R.Responsexml: R.ResponSetext; // ถ้าประเภทคือ "สคริปต์" ให้ประเมินในบริบทส่วนกลางถ้า (ประเภท == "สคริปต์") jQuery.globaleval (ข้อมูล); // รับวัตถุ JavaScript หากใช้ JSON if (type == "json") eval ("data =" + data); // ประเมินสคริปต์ภายใน html ถ้า (type == "html") jQuery ("<div>"). html (data) .evalscripts (); // Alert ($ ('param', data) .each (function () {Alert ($ (this) .attr ('value'));})); ส่งคืนข้อมูล -เปลี่ยนย่อหน้านี้เป็นสิ่งนี้
uploadhttpdata: ฟังก์ชั่น (r, type) {var data =! type; data = type == "xml" || ข้อมูล ? R.Responsexml: R.ResponSetext; // ถ้าประเภทคือ "สคริปต์" ให้ประเมินในบริบทส่วนกลางถ้า (ประเภท == "สคริปต์") jQuery.globaleval (ข้อมูล); // รับวัตถุ JavaScript หากใช้ JSON ถ้า (type == "json") {// เนื่องจากข้อมูล JSON จะถูกห่อหุ้มด้วยแท็ก <pre> มีปัญหา ตอนนี้เพิ่มรหัสต่อไปนี้ // อัปเดตโดย hzy var reg = /<pre.+?>(.+) <//pre>/g; var result = data.match (reg); ผลลัพธ์ = regexp. $ 1; // อัปเดตข้อมูลสิ้นสุด = $ .parsejson (ผลลัพธ์); // evaln ("data =" + data); // ประเมินสคริปต์ภายใน html} if (type == "html") jQuery ("<div>"). html (data) .evalscripts (); // Alert ($ ('param', data) .each (function () {Alert ($ (this) .attr ('value'));})); ส่งคืนข้อมูล -สิ่งนี้จะใช้งานได้ตามปกติ
อีกกรณีหนึ่ง: AjaxFileUpload รายงานข้อผิดพลาดนี้ jQuery.HandleERROR ไม่ใช่ฟังก์ชัน
รุ่นก่อนเวอร์ชัน 1.4.2 มีวิธีการ HandlerError jQuery ที่ใช้ในตัวอย่างคือ 1.2 สารละลาย:
เพื่อที่จะใช้ AjaxFileUpload ต่อไปเพื่ออัปโหลดไฟล์แนบของเราฉันต้องคัดลอกรหัสต่อไปนี้ลงในไฟล์ ajaxfileupload.js ในโครงการของเรา
HandleERROR: ฟังก์ชั่น (s, xhr, สถานะ, e) {// หากมีการระบุการโทรกลับในท้องถิ่นให้ยิงมันถ้า (s.error) {s.error.call (s.context || s, xhr, สถานะ, e); } // ไฟการโทรกลับทั่วโลกถ้า (s.global) {(s.context? jQuery (s.context): jQuery.event) .Trigger ("AjaxError", [xhr, s, e]); -สำหรับเนื้อหาที่น่าตื่นเต้นยิ่งขึ้นโปรดดูหัวข้อพิเศษ "AJAX UPLOAD TECHYREC SUMICMARY", "JavaScript File Upload Summary Operation Summary" และ "JQuery Upload Summary Operation Summary" สำหรับการเรียนรู้
ข้างต้นเป็นวิธีแก้ปัญหาการรายงานข้อผิดพลาดใน ajaxupload.js ฉันหวังว่ามันจะช่วยคุณแก้ปัญหาได้ ฉันหวังว่าคุณจะยังคงให้ความสนใจกับเนื้อหาที่น่าตื่นเต้นมากขึ้นใน wulin.com