ปลั๊กอิน jQuery ajaxreadystate
การใช้งาน jQuery AJAX ค่อนข้างจำกัดเนื่องจากไม่มีวิธีการตอบสนองต่อเหตุการณ์ readystatechange ที่เริ่มทำงานในระหว่างการร้องขอ AJAX เอกสาร jQuery.ajax API ระบุสิ่งต่อไปนี้จริง ๆ
อย่างไรก็ตาม ไม่มีกลไก
onreadystatechangeให้มา เนื่องจากdone,fail,alwaysและstatusCodeครอบคลุมข้อกำหนดที่เป็นไปได้ทั้งหมด
แม้ว่าข้อความนี้จะเป็นจริงในกรณีการใช้งานส่วนใหญ่ แต่ถ้าคุณต้องการเข้าถึงส่วนหัวการตอบกลับหรือรหัสสถานะก่อนที่คำขอทั้งหมดจะเสร็จสิ้น หรือเข้าถึงเนื้อหาการตอบกลับในขณะที่สตรีมอยู่
เห็นได้ชัดว่า jQuery ไม่มีฟังก์ชันนี้เนื่องจากปัญหาความเข้ากันได้ของเบราว์เซอร์ ดังนั้นปลั๊กอินนี้จึงเพิ่มฟังก์ชันพิเศษนี้สำหรับเบราว์เซอร์ที่รองรับคุณลักษณะเหล่านี้ (ดูบันทึกความเข้ากันได้ด้านล่าง)
ปลั๊กอินนี้ทำงานโดยการเพิ่มเมธอดใหม่ jQuery.ajaxreadystate ซึ่งทำหน้าที่เป็น wrapper สำหรับ jQuery.ajax ขยายฟังก์ชันการทำงานและอัปเดตออบเจ็กต์ jqXHR เพื่อลบข้อจำกัดและอัปเดตคุณสมบัติเมื่อ readyState เปลี่ยนแปลง
คุณใช้ jQuery.ajaxreadystate เช่นเดียวกับที่คุณใช้ jQuery.ajax ยกเว้นว่าคุณมีวิธีพิเศษหนึ่งวิธีที่คุณสามารถกำหนดได้ ซึ่งก็คือวิธี readystate
jQuery . ajaxreadystate ( {
readystate : function ( jqXHR , readyState ) {
}
} ) ; เมธอดนี้จะเริ่มทำงานทุกครั้งที่คำขอเริ่มเหตุการณ์ readystatechange และจะส่งผ่านในอ็อบเจ็กต์ jqXHR ที่อัพเดต และ readyState ปัจจุบัน
คุณสามารถดาวน์โหลดเวอร์ชันเสถียรและย่อส่วนล่าสุดได้จากส่วนการเผยแพร่ของพื้นที่เก็บข้อมูลนี้ หรือคุณสามารถโคลนการดาวน์โหลดที่เก็บจากผู้จัดการแพ็คเกจได้
###สนับสนุนอย่างเต็มที่
เบราว์เซอร์ต่อไปนี้ได้รับการสนับสนุนอย่างสมบูรณ์
###สนับสนุนบางส่วน
เบราว์เซอร์ต่อไปนี้ได้รับการสนับสนุนบางส่วนเนื่องจากข้อจำกัดทางเทคนิคของเบราว์เซอร์เอง มีการบันทึกปัญหาความเข้ากันได้
responseText ไม่สามารถใช้งานได้จนกว่า readyState จะเป็น 4readystatechange เพียงครั้งเดียวสำหรับ readyState 3 ณ จุดใดจุดหนึ่งระหว่างการถ่ายโอนresponseText ไม่สามารถใช้งานได้จนกว่า readyState จะเป็น 4status และ statusText จะไม่อัปเดตจนกว่า readyState จะเป็น 4getAllResponseHeaders และ getResponseHeader ส่งคืน null จนกระทั่ง readyState เป็น 4readystate จะเริ่มทำงานสำหรับ readyState 1 เท่านั้นresponseText ไม่สามารถใช้งานได้จนกว่า readyState จะเป็น 4status และ statusText จะไม่อัปเดตจนกว่า readyState จะเป็น 4getAllResponseHeaders และ getResponseHeader ส่งคืน null จนกระทั่ง readyState เป็น 4getAllResponseHeaders และ getResponseHeader คืนค่า null จนกระทั่ง readyState เป็น 3getAllResponseHeaders และ getResponseHeader คืนค่า null จนกระทั่ง readyState เป็น 3readystatechange เพียงครั้งเดียวสำหรับ readyState 3 ณ จุดใดจุดหนึ่งระหว่างการถ่ายโอนstatus และ statusText จะไม่อัปเดตจนกว่า readyState จะเป็น 3readystatechange เพียงครั้งเดียวสำหรับ readyState 3 ณ จุดใดจุดหนึ่งระหว่างการถ่ายโอนstatus และ statusText จะไม่อัปเดตจนกว่า readyState จะเป็น 3readystatechange เพียงครั้งเดียวสำหรับ readyState 3 ณ จุดใดจุดหนึ่งระหว่างการถ่ายโอนgetAllResponseHeaders และ getResponseHeader ส่งคืน null จนกระทั่ง readyState เป็น 4เบราว์เซอร์รุ่นเก่ากว่าที่ระบุไว้ไม่ได้รับการทดสอบ แต่อาจได้รับการสนับสนุนบางส่วนหรือทั้งหมด
ปลั๊กอินนี้เข้ากันได้กับ jQuery 1.5+ และ jQuery 2.0.0+
หากต้องการสร้างบิลด์แบบย่อ ให้รันคำแนะนำนี้จากไดเร็กทอรีรากของที่เก็บนี้
$ npm run buildหากคุณพบจุดบกพร่องหรือมีปัญหาความเข้ากันได้ที่ไม่ได้ระบุไว้ข้างต้น โปรดเปิดตั๋วภายใต้หัวข้อปัญหาสำหรับพื้นที่เก็บข้อมูลนี้
ดู LICENSE.txt
หากใบอนุญาตนี้ใช้งานไม่ได้สำหรับคุณ โปรดติดต่อฉันได้ตลอดเวลา
หากคุณพบว่าซอฟต์แวร์ของฉันมีประโยชน์ โปรดพิจารณาบริจาคเล็กน้อยบนเว็บไซต์ของฉันที่ alexomara.com