3
วิธีสกัดกั้นคำขอ AJAX ทั้งหมดที่สร้างโดยไลบรารี JS ต่างๆ
ฉันกำลังสร้างเว็บแอปที่มีไลบรารี JS ที่แตกต่างกัน (AngularJS, OpenLayers, ... ) และต้องการวิธีสกัดกั้นการตอบสนองของ AJAX ทั้งหมดเพื่อให้สามารถใช้งานได้ในกรณีที่เซสชันผู้ใช้ที่บันทึกไว้หมดอายุ (การตอบกลับกลับมาพร้อมกับ401 Unauthorizedสถานะ) เพื่อเปลี่ยนเส้นทางเขา ไปที่หน้าเข้าสู่ระบบ ฉันรู้ว่า AngularJS เสนอinterceptorsให้จัดการสถานการณ์ดังกล่าว แต่ไม่สามารถหาวิธีที่จะบรรลุการแทรกคำขอของ OpenLayers ได้ ดังนั้นฉันจึงเลือกใช้วิธี Vanilla JS ที่นี่ฉันพบโค้ดชิ้นนี้ ... (function(open) { XMLHttpRequest.prototype.open = function(method, url, async, user, pass) { this.addEventListener("readystatechange", function() { console.log(this.readyState); // this one I changed }, false); open.call(this, method, url, async, …