คำขอ AJAX จากโดเมนย่อยหนึ่งไปยังโดเมนย่อยอื่น แต่อยู่ในโดเมนเดียวกัน

ฉันรู้ว่าคุณไม่สามารถทำการร้องขอ ajax ข้ามโดเมนได้เว้นแต่คุณจะใช้ 'พรอกซี' เซิร์ฟเวอร์เดียว

อย่างไรก็ตาม หากฉันส่งคำขอ ajax จาก server1.example.com ไปยัง server2.example มันจะไม่ทำงานแม้ว่าจะอยู่ในโดเมนเดียวกันกับ example.com หรือไม่

ฉันค่อนข้างแน่ใจว่าไซต์ต่างๆ เช่น YouTube ทำการร้องขอ ajax ไปยังเซิร์ฟเวอร์ที่แตกต่างกัน เช่นคำขอจาก youtube.com ไปยัง vs1022.youtube.com เป็นต้น

การชี้แจงใด ๆ เกี่ยวกับเรื่องนี้จะยอดเยี่ยมมาก ขอขอบคุณสำหรับเวลาของคุณ.


person Flukey    schedule 20.01.2010    source แหล่งที่มา
comment
ดู: w3.org/TR/access-control   -  person jldupont    schedule 20.01.2010


คำตอบ (2)


server1.example.com และ server2.example.com ถือเป็นโดเมนข้ามสำหรับคำขอ AJAX

คุณจะต้องตั้งค่าส่วนหัว Access-Control-Allow-Origin: * ที่ฝั่งเซิร์ฟเวอร์

person YOU    schedule 20.01.2010
comment
มันง่ายขนาดนั้นเลยเหรอ? ยอดเยี่ยม แต่ฉันสงสัยว่าทำไมทุกคนไม่ทำอย่างนั้นและไม่ยุ่งยากกับการสร้างพรอกซี ฯลฯ :-) - person Flukey; 20.01.2010
comment
โดยพื้นฐานแล้ว ง่ายมาก คุณสามารถอ่านเพิ่มเติมได้ที่ developer.mozilla.org/en/HTTP_access_control เพราะเหตุใด ไม่ได้รับอนุญาตตามค่าเริ่มต้นจะเป็นเหตุผลด้านความปลอดภัยและนโยบาย ตัวอย่างเช่น หากได้รับอนุญาต server1.example.com จะสามารถโหลดข้อมูลทั้งหมดจาก server2.example.com ด้วย ajax แบบเรียลไทม์ จากนั้นจึงทำฟิชชิ่งได้ดีมาก :-) - person YOU; 20.01.2010

Access-Control-Allow-Origin: * ส่วนหัวควรถูกสร้างขึ้นด้วยชุดรายการที่อนุญาตซึ่งดูแลโดยผู้ให้บริการเว็บ เว้นแต่บริการเว็บจะตรวจสอบคำขอโดยใช้โทเค็นการรับรองความถูกต้อง

person Melwyn Furtado    schedule 30.11.2012