Computer >> Máy Tính >  >> Lập trình >> Javascript

Tại sao Người đưa thư không nhận được lỗi "Không có tiêu đề" Access-ControlAllow-Origin "trên tài nguyên được yêu cầu" trong JavaScript

Vấn đề:

Khi chúng tôi cố gắng thực hiện yêu cầu mạng tới một máy chủ từ xa có nguồn gốc khác với url hiện tại của chúng tôi (từ đó chúng tôi đang thực hiện yêu cầu), chúng tôi rất có thể gặp lỗi CORS do vấn đề nguồn gốc khác nhau trên web, trong khi sử dụng một công cụ giống như Postman, chúng tôi có thể tránh thành công lỗi CORS này.

Chúng tôi được yêu cầu giải thích sự khác biệt trong hành vi phản hồi khi được yêu cầu thông qua weband khi được yêu cầu thông qua một tiện ích mở rộng như bưu tá.

Giải thích:

Khi chúng tôi thực hiện một yêu cầu mạng đến một miền khác với trang của chúng tôi đang sử dụng trình duyệt web, trình duyệt sẽ chặn yêu cầu đó và thậm chí không thông báo hoặc liên hệ với máy chủ và thường cho phép một yêu cầu có cùng nguồn gốc vì lý do bảo mật.

Nhưng khi chúng tôi đang sử dụng Postman hoặc bất kỳ công cụ nào như vậy, chúng không bị hạn chế bởi chính sách này. Các trang web có thể sử dụng đối tượng XMLHttpRequest để gửi và nhận dữ liệu từ các máy chủ từ xa, nhưng chúng bị giới hạn bởi cùng một chính sách nguồn gốc nhưng các tiện ích mở rộng như Postman không bị giới hạn như vậy. Anextension có thể nói chuyện với các máy chủ từ xa bên ngoài nguồn gốc của nó và đây là lý do tại sao Postmans thành công đưa ra yêu cầu trong khi các trang web không thành công do lỗi CORS.