คำถามติดแท็ก interceptor

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, …

1
เพิ่ม HTTP Interceptors หลายตัวใน Angular Application
จะเพิ่มตัวดักจับ HTTP อิสระหลายตัวลงในแอปพลิเคชัน Angular 4 ได้อย่างไร ฉันพยายามเพิ่มโดยขยายprovidersอาร์เรย์ที่มีตัวสกัดกั้นมากกว่าหนึ่งตัว แต่สุดท้ายเท่านั้นที่ถูกดำเนินการจริงInterceptor1จะถูกละเว้น @NgModule({ declarations: [ /* ... */ ], imports: [ /* ... */ HttpModule ], providers: [ { provide: Http, useFactory: (xhrBackend: XHRBackend, requestOptions: RequestOptions) => new Interceptor1(xhrBackend, requestOptions), deps: [XHRBackend, RequestOptions], }, { provide: Http, useFactory: (xhrBackend: XHRBackend, requestOptions: RequestOptions) => new …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.