Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

เหตุใดบุรุษไปรษณีย์จึงไม่ได้รับข้อผิดพลาด "ไม่มีส่วนหัว 'Access-ControlAllow-Origin' บนทรัพยากรที่ร้องขอ" ใน JavaScript


ปัญหา:

เมื่อเราพยายามส่งคำขอเครือข่ายไปยังเซิร์ฟเวอร์ระยะไกลซึ่งมีต้นทางแตกต่างจาก URL ปัจจุบันของเรา (ซึ่งเรากำลังส่งคำขอ) เรามักจะได้รับข้อผิดพลาด CORS เนื่องจากปัญหาต้นทางที่แตกต่างกันในเว็บ ในขณะที่ใช้เครื่องมือ เช่นเดียวกับบุรุษไปรษณีย์ เราสามารถหลีกเลี่ยงข้อผิดพลาด CORS นี้ได้สำเร็จ

เราจำเป็นต้องอธิบายความแตกต่างในพฤติกรรมของการตอบสนองเมื่อมีการร้องขอผ่านเว็บแบนด์เมื่อมีการร้องขอผ่านส่วนขยาย เช่น บุรุษไปรษณีย์

คำอธิบาย:

เมื่อเราส่งคำขอเครือข่ายไปยังโดเมนที่แตกต่างจากหน้าเว็บของเราโดยใช้เว็บเบราว์เซอร์ คำขอดังกล่าวจะบล็อกคำขอดังกล่าวและไม่ต้องแจ้งหรือติดต่อกับเซิร์ฟเวอร์และมักจะอนุญาตคำขอจากแหล่งที่มาเดียวกันด้วยเหตุผลด้านความปลอดภัย

แต่เมื่อเราใช้งานบุรุษไปรษณีย์หรือเครื่องมือดังกล่าว นโยบายนี้ไม่ได้จำกัดนโยบายนี้ หน้าเว็บสามารถใช้อ็อบเจ็กต์ XMLHttpRequest เพื่อส่งและรับข้อมูลจากเซิร์ฟเวอร์ระยะไกล แต่ถูกจำกัดโดยนโยบายต้นทางเดียวกัน แต่ส่วนขยายเช่นบุรุษไปรษณีย์ไม่ได้จำกัดอยู่เช่นนั้น ส่วนขยายสามารถพูดคุยกับเซิร์ฟเวอร์ระยะไกลภายนอกแหล่งที่มาได้ และนี่คือเหตุผลที่ Postman ประสบความสำเร็จในการส่งคำขอในขณะที่หน้าเว็บล้มเหลวเนื่องจากข้อผิดพลาด CORS