ปลั๊กอิน jQuery น้ำหนักเบาที่เพิ่มการรองรับ progress
และคำสัญญา uploadProgress
ให้กับ $.ajax()
npm install jq-ajax-progress
git clone [email protected]:likerRr/jq-ajax-progress.git
รวม src/jq-ajax-progress.min.js
ไว้ใน html ของคุณหลังสคริปต์ jQuery
$ . ajax ( url , {
progress : function ( e ) {
// track downloading
} ,
uploadProgress : function ( e ) {
// track uploading
// if (e.lengthComputable) {
// var completedPercentage = Math.round((e.loaded * 100) / e.total);
// console.log(completedPercentage);
//}
}
} )
เมื่อคุณจำเป็นต้องส่งข้อมูลแบบก้อนไปยังลูกค้าในบางกรณี การติดตามว่าชิ้นส่วนใดที่เพิ่งได้รับมาจะเป็นการดี เพื่อจุดประสงค์นี้ให้ใช้ตัวเลือกบูลีน chunking
( false
โดยค่าเริ่มต้น) หากตั้งค่าเป็น true
พารามิเตอร์ตัวที่สองในฟังก์ชันการโทรกลับจะเป็นส่วนหนึ่ง
ตามค่าเริ่มต้น การตอบกลับแบบก้อนทั้งหมดประกอบด้วยการตอบกลับข้อความทั้งหมดที่ได้รับแล้ว และคุณควรตัดมันด้วยตนเองหากคุณต้องการทำอะไรบางอย่างกับส่วนต่างๆ หนึ่งในกรณีที่เป็นไปได้เมื่อคุณส่งข้อความขนาดใหญ่หรือสื่อตอบกลับจากเซิร์ฟเวอร์ไปยังไคลเอนต์ และคุณไม่ต้องการให้ไคลเอนต์ของคุณรอการตอบกลับทั้งหมด
โปรดทราบว่า การตอบสนองทั้งหมดถูกตัดตั้งแต่จุดเริ่มต้น (จากดัชนีศูนย์) จนกระทั่งส่วนสุดท้ายเกิดขึ้น ดังนั้นข้อมูลจำนวนมาก (ตามทฤษฎี) อาจทำให้เกิดปัญหาด้านประสิทธิภาพได้ แต่...ก็แค่จำไว้ :)
$ . ajax ( url , {
chunking : true ,
progress : function ( e , part ) {
console . log ( part ) ;
}
} ) ;
ติดตั้งโหนด
รัน npm install && npm run build
วิธีนี้จะย่อขนาดไลบรารีและวางไว้ในโฟลเดอร์ src