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

10
ไม่มีส่วนหัว 'Access-Control-Allow-Origin' ในทรัพยากรที่ร้องขอ - เมื่อพยายามรับข้อมูลจาก REST API
ฉันพยายามดึงข้อมูลจาก REST API ของ HP Alm มันทำงานได้ค่อนข้างดีด้วยสคริปต์ม้วนเล็ก ๆ - ฉันได้รับข้อมูลของฉัน ตอนนี้การทำเช่นนั้นกับ JavaScript, การดึงข้อมูลและ ES6 (มากกว่าหรือน้อยกว่า) ดูเหมือนจะเป็นปัญหาที่ใหญ่กว่า ฉันได้รับข้อความแสดงข้อผิดพลาดนี้: Fetch API ไม่สามารถโหลดได้ การตอบสนองต่อคำขอ preflight ไม่ผ่านการตรวจสอบการควบคุมการเข้าถึง: ไม่มีส่วนหัว 'Access-Control-Allow-Origin' บนทรัพยากรที่ร้องขอ แหล่งกำเนิด ' http://127.0.0.1:3000 ' จึงไม่ได้รับอนุญาตให้เข้าถึง การตอบกลับมีรหัสสถานะ HTTP 501 หากการตอบกลับทึบแสงตอบสนองความต้องการของคุณให้ตั้งค่าโหมดคำขอเป็น 'ไม่คอร์' เพื่อดึงข้อมูลทรัพยากรโดยปิดการใช้งาน CORS ฉันเข้าใจว่าเป็นเพราะฉันพยายามดึงข้อมูลจากภายในเครื่องของฉันและวิธีแก้ปัญหาควรใช้ CORS ตอนนี้ฉันคิดว่าฉันทำอย่างนั้นจริง แต่อย่างใดมันไม่สนใจสิ่งที่ฉันเขียนในส่วนหัวหรือปัญหาเป็นอย่างอื่น? ดังนั้นจะมีปัญหาการใช้งานหรือไม่ ฉันทำผิดหรือเปล่า? ฉันไม่สามารถตรวจสอบบันทึกเซิร์ฟเวอร์ได้ ฉันติดอยู่ตรงนี้จริงๆ function performSignIn() { let …

10
CORS - แรงจูงใจเบื้องหลังการแนะนำคำขอ preflight คืออะไร?
การแบ่งปันทรัพยากรข้ามแหล่งกำเนิดเป็นกลไกที่อนุญาตให้เว็บเพจสร้าง XMLHttpRequests ไปยังโดเมนอื่น (จากวิกิพีเดีย ) ฉันเล่นซอกับ CORS ในสองสามวันที่ผ่านมาและฉันคิดว่าฉันมีความเข้าใจที่ดีเกี่ยวกับการทำงานทุกอย่าง ดังนั้นคำถามของฉันไม่ได้เกี่ยวกับวิธีการที่ล ธ / ทำงาน preflight มันเป็นเรื่องของเหตุผลที่อยู่เบื้องหลังขึ้นมาพร้อมกับ preflights เป็นชนิดคำขอใหม่ ฉันไม่เห็นเหตุผลใด ๆ ว่าทำไมเซิร์ฟเวอร์ A ต้องส่ง preflight (PR) ไปยังเซิร์ฟเวอร์ B เพื่อตรวจสอบว่าคำขอจริง (RR) จะได้รับการยอมรับหรือไม่ - แน่นอนว่า B จะยอมรับ / ปฏิเสธ RR ได้โดยไม่ต้อง PR ก่อนหน้าใด ๆ หลังจากค้นหาค่อนข้างน้อยฉันพบข้อมูลชิ้นนี้ที่ www.w3.org (7.1.5): เพื่อปกป้องทรัพยากรจากการร้องขอข้ามแหล่งกำเนิดที่ไม่สามารถเกิดขึ้นจากตัวแทนผู้ใช้บางรายก่อนที่ข้อมูลจำเพาะนี้จะมีการร้องขอ preflight ถูกสร้างขึ้นเพื่อให้แน่ใจว่าทรัพยากรตระหนักถึงข้อกำหนดนี้ ฉันคิดว่านี่เป็นประโยคที่เข้าใจยากที่สุดเท่าที่เคยมีมา การตีความของฉัน (ควรเรียกว่า 'เดาได้ดีที่สุด') คือการปกป้องเซิร์ฟเวอร์ …
366 ajax  html  http  cors  preflight 

14
AngularJS ดำเนินการร้องขอ OPTIONS HTTP สำหรับทรัพยากรข้ามแหล่ง
ฉันกำลังพยายามตั้งค่า AngularJS เพื่อสื่อสารกับทรัพยากรข้ามแหล่งที่ซึ่งโฮสต์สินทรัพย์ที่ส่งไฟล์เทมเพลตของฉันอยู่ในโดเมนอื่นดังนั้น XHR ขอให้ดำเนินการเชิงมุมจะต้องข้ามโดเมน ฉันได้เพิ่มส่วนหัว CORS ที่เหมาะสมลงในเซิร์ฟเวอร์ของฉันสำหรับคำขอ HTTP เพื่อให้ทำงานได้ แต่ดูเหมือนจะไม่ทำงาน ปัญหาคือเมื่อฉันตรวจสอบคำขอ HTTP ในเบราว์เซอร์ของฉัน (chrome) คำขอที่ส่งไปยังไฟล์เนื้อหาคือคำขอ OPTIONS (ควรเป็นคำขอ GET) ฉันไม่แน่ใจว่านี่เป็นข้อผิดพลาดใน AngularJS หรือไม่ถ้าฉันต้องการกำหนดค่าบางอย่าง จากสิ่งที่ฉันเข้าใจว่า XHR wrapper ไม่สามารถทำการร้องขอ OPTIONS HTTP ดังนั้นดูเหมือนว่าเบราว์เซอร์กำลังพยายามหาว่า "อนุญาต" เพื่อดาวน์โหลดเนื้อหาก่อนหรือไม่ก่อนที่จะดำเนินการตามคำขอ GET หากเป็นกรณีนี้ฉันจำเป็นต้องตั้งค่าส่วนหัว CORS (การควบคุมการเข้าถึงอนุญาตให้กำเนิด: http://asset.host .. .) กับโฮสต์สินทรัพย์ด้วยหรือไม่

6
จะข้ามคำขอไฟล่วงหน้า OPTIONS ได้อย่างไร
ฉันได้พัฒนาแอพ PhoneGap ซึ่งตอนนี้เปลี่ยนเป็นเว็บไซต์บนมือถือแล้ว ทุกอย่างทำงานได้อย่างราบรื่นนอกเหนือจากความผิดพลาดเล็ก ๆ น้อย ๆ ฉันใช้ API ของบุคคลที่สามผ่านคำขอ POST ซึ่งทำงานได้ดีในแอป แต่ล้มเหลวในเวอร์ชันเว็บไซต์บนอุปกรณ์เคลื่อนที่ หลังจากดูใกล้ ๆ ดูเหมือนว่า AngularJS (ฉันเดาว่าเบราว์เซอร์จริง) เป็นครั้งแรกที่ส่งคำขอ OPTIONS วันนี้ฉันได้เรียนรู้มากมายเกี่ยวกับ CORS แต่ดูเหมือนจะไม่รู้วิธีปิดการใช้งานทั้งหมด ฉันไม่มีสิทธิ์เข้าถึง API นั้น (ดังนั้นการเปลี่ยนแปลงที่ด้านนั้นจึงเป็นไปไม่ได้) แต่พวกเขาได้เพิ่มโดเมนที่ฉันกำลังทำงานอยู่ในส่วนหัว Access-Control-Allow-Origin นี่คือรหัสที่ฉันกำลังพูดถึง: var request = { language: 'fr', barcodes: [ { barcode: 'somebarcode', description: 'Description goes here' } ] }; } var …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.