Tôi có một ứng dụng web trang đơn được phân phối từ www.example.com
. web này ứng dụngLàm cách nào để tạo yêu cầu tên miền chéo với tiêu đề tùy chỉnh mà không sử dụng XDomainRequest hoặc XMLHttpRequest?
- cần phải đưa ra yêu cầu AJAX chống lại một máy chủ có tên
api.example.com
- nó có để thiết lập các lĩnh vực tiêu đề nhất định như
Authorization
khi gửi yêu cầu đểapi.example.com
- nó phải tương thích với gần đây và không quá gần đây trình duyệt (ví dụ: IE> = 8)
Tất cả điều này hoạt động bằng cách xử lý yêu cầu CORS trên api.example.com bằng Chrome (và các trình duyệt dựa trên WebKit gần đây khác) sử dụng XMLHttpRequest
. IE older than version 10 không triển khai CORS cho XMLHttpRequest
và thay vào đó cung cấp đối tượng không chuẩn XDomainRequest
cho các yêu cầu tên miền chéo. Nhưng XDomainRequest
không thực hiện một cách tới các trường set HTTP header.
Vì vậy, câu hỏi của tôi là: Làm cách nào để tạo yêu cầu tên miền chéo với tiêu đề tùy chỉnh mà không sử dụng XDomainRequest
hoặc XMLHttpRequest
? Cách giải quyết thực hành tốt nhất là gì?
Chỉnh sửa: Tôi có quyền kiểm soát tất cả các máy chủ có liên quan (* .example.com).
Điều này là chính xác. Bạn luôn có thể sử dụng iframe và 'postMessage'. – idbehold
Vì vậy, tôi giả sử có ít nhất một cách khác :) –
Tôi không có ý tưởng phương pháp hữu ích như postMessage tồn tại, vì vậy cảm ơn @idbehold. Bạn sẽ cần phải có quyền kiểm soát api.example.com, bởi vì bạn phải đặt nội dung khung nội tuyến trong miền đó. Ngoài ra có vẻ như bạn chỉ có thể gửi các chuỗi với postMessage trong IE. –