6
เหตุใด Internet Explorer จึงไม่ส่งเนื้อหาโพสต์ HTTP ในการโทร Ajax หลังจากล้มเหลว
เราสามารถสร้างสถานการณ์ต่อไปนี้ขึ้นใหม่ได้อย่างน่าเชื่อถือ: สร้างเพจ HTML ขนาดเล็กที่ส่งคำขอ AJAX ไปยังเซิร์ฟเวอร์ (โดยใช้ HTTP POST) ยกเลิกการเชื่อมต่อจากเครือข่ายและเชื่อมต่อใหม่ ตรวจสอบแพ็กเก็ตที่ IE สร้างขึ้นหลังจากความล้มเหลว หลังจากการเชื่อมต่อเครือข่ายล้มเหลว IE จะส่งคำขอ AJAX ถัดไป แต่จะส่งเฉพาะส่วนหัว HTTP (ไม่ใช่เนื้อหา) เมื่อทำการโพสต์ HTTP สิ่งนี้ทำให้เกิดปัญหาทุกประเภทบนเซิร์ฟเวอร์เนื่องจากเป็นเพียงคำขอบางส่วน Google พบปัญหานี้กับ Bing และคุณจะพบผู้คนจำนวนมากบ่นเกี่ยวกับ "ข้อผิดพลาดของเซิร์ฟเวอร์แบบสุ่ม" โดยใช้ AJAX หรือความล้มเหลวของ AJAX ที่ไม่ได้อธิบาย เราทราบดีว่า IE (ไม่เหมือนกับเบราว์เซอร์อื่น ๆ ส่วนใหญ่) จะส่ง HTTP POST เป็นสองแพ็กเก็ต TCP / IP เสมอ ส่วนหัวและเนื้อหาจะถูกส่งแยกกัน ในกรณีที่เกิดความล้มเหลวโดยตรงIE จะส่งเฉพาะส่วนหัวเท่านั้น …