5

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).

Trả lời

1

Tôi e rằng không có cách nào khác ngoài việc triển khai proxy cho yêu cầu này ở phía máy chủ của ứng dụng của bạn. An example.

+3

Điều này là chính xác. Bạn luôn có thể sử dụng iframe và 'postMessage'. – idbehold

+0

Vì vậy, tôi giả sử có ít nhất một cách khác :) –

+0

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. –

Các vấn đề liên quan