เมื่อเปรียบเทียบกับ AJAX เซิร์ฟเวอร์ XMLHTTP จะใช้วัตถุ XMLHTTPREQUEST บนเซิร์ฟเวอร์ แม้ว่าจะไม่สะดวกในการใช้คำขอแบบอะซิงโครนัสทางฝั่งเซิร์ฟเวอร์ แต่เป็นส่วนประกอบที่สามารถส่งคำขอ HTTP เป็นเซิร์ฟเวอร์ได้ แต่ก็ไม่มีอันตรายที่จะศึกษา
ที่นี่ฉันกำลังพูดถึงการใช้เซิร์ฟเวอร์ xmlhttprequest ในสภาพแวดล้อม ASP และใช้ JScript เป็นภาษาของรหัสสาธิตดังนั้นคุณต้องเข้าใจ ASP และ JScript
เซิร์ฟเวอร์ XMLHTTP มักจะใช้เพื่อรับเว็บเพจหรือเนื้อหาอื่น ๆ ของโฮสต์ระยะไกล และนำชื่อของข่าวออกมา การจับกุ้งเป็นเรื่องรวมของข่าว แต่ไม่ได้เขียนใน ASP :)
ใน ASP เราสามารถใช้รหัสต่อไปนี้เพื่อสร้างวัตถุ ServerXMLHTTT และวัตถุนี้เป็นพื้นฐานสำหรับการดำเนินการของเราบนเซิร์ฟเวอร์
var xmlhttp = new ActiveXObject (msxml2.serverxmlhttp.5.0);
ก่อนอื่นต้องเข้าใจว่าวิธีการที่มีประโยชน์มากกว่าของวัตถุ ServerxMlhttp คืออะไร:
1. ยกเลิกวิธีนี้ใช้เพื่อยกเลิกคำขอของ XMLHTTP หากวัตถุ XMLHTTP ส่งคำขอแบบอะซิงโครนัสหากคำขอไม่กลับไปเป็นเวลาที่กำหนดคุณสามารถใช้วิธีนี้เพื่อยกเลิกคำขอ
2. ค่าส่งคืนของ GetAllResponseHeaders เป็นสตริงซึ่งเทียบเท่ากับหัวของคำขอ HTTP ลบวิธีการร้องขอ URI และข้อมูลเวอร์ชันโปรโตคอล
3. GetResponseHeader วิธีนี้ใช้เพื่อรับข้อมูลหัวที่ระบุ
4. Open ใช้วิธีการขอ URI และวิธีการซิงโครไนซ์และข้อมูลการตรวจสอบสิทธิ์เพื่อเริ่มต้นคำขอ
5. ส่งคำขอ HTTP รอรับข้อมูลการตอบกลับ นอกจากนี้วิธีการส่งมีร่างกายพารามิเตอร์เสริมแสดงว่าข้อมูลที่จะส่งมีประโยชน์มากขึ้นเมื่อใช้วิธีการโพสต์
6. SettimeOut ตั้งค่าเวลา 4out ของวัตถุ ServerXMLHTTT ได้แก่ : การวิเคราะห์ชื่อโดเมน, เซิร์ฟเวอร์การเชื่อมต่อ, การส่งข้อมูล, การตอบกลับที่ได้รับ คุณสามารถควบคุมวัตถุ ServerXMLHTTT ได้โดยการตั้งค่าเวลาหมดเวลาที่สอดคล้องกันเพื่อป้องกันไม่ให้ ServerXMLHTTP กลับมาในเวลาและทำให้โปรแกรมหยุดตอบกลับ
7. SetRequestheader ตั้งส่วนหัวของคำขอ ระบุว่าคำขอนั้นมาจากวัตถุ XMLHTTPREQUEST
8. WaitForResponse สามารถใช้วิธีนี้เพื่อควบคุมกระบวนการร้องขอเมื่อส่งคำขอแบบอะซิงโครนัส ในสคริปต์เซิร์ฟเวอร์คุณจะต้องไม่ใช้ฟังก์ชั่นการเรียกกลับโดยตรงเพื่อควบคุมคำขอแบบอะซิงโครนัสเช่นไคลเอนต์และไม่มีฟังก์ชั่นที่สอดคล้องกันเพื่อใช้โปรแกรมเพื่อนอนหลับในช่วงเวลาหนึ่ง เราสามารถใช้วิธีนี้เพื่อรอระยะเวลาหนึ่งเพื่อใช้เวลาในช่วงเวลาหนึ่ง
นอกจากนี้ยังมีวิธีการอื่น ๆ เช่น getOption, setOption, setProxy ฯลฯ วิธีการเหล่านี้ใช้น้อยลงดังนั้นจึงไม่ได้แนะนำที่นี่
จากนั้นดูที่แอตทริบิวต์ของวัตถุ ServerXMLHTTT:
1. OnReadyStateChange XMLHTTP OBJECT ABOCT เปลี่ยนฟังก์ชั่นการโทรกลับ
2. สถานะวัตถุ XMLHTTP ReadyState โดยมี 5 ค่าจาก 0 ถึง 4 ซึ่งหมายความว่า:
0 -ไม่เริ่มต้นเพียงแค่ใช้ ActiveXObject ใหม่ (msxml.serverxmlhttp.5.0) เมื่อสร้าง
1 -ในระหว่างการโหลดในเวลานี้วิธีการเปิดได้ถูกเรียก แต่ข้อมูลไม่ได้ถูกใช้เพื่อส่งข้อมูล
2 -มีการโหลดและวิธีการส่งได้ถูกเรียกให้ส่งข้อมูล แต่ไม่มีโฟลว์ตอบกลับที่สามารถใช้ได้
3 -I Am Interacting และได้รับข้อมูล
4 -Copplete คำขอข้อมูลทั้งหมดได้รับการยอมรับให้เสร็จสมบูรณ์
ภายใต้สถานการณ์ปกติเราจำเป็นต้องตัดสินสถานะ 4 ในเวลานี้ข้อมูลทั้งหมดถูกโหลด
3. สถานะการตอบกลับสถานะ HTTP
4. ข้อความสถานะการตอบกลับ HTTP เพื่ออธิบายความหมายของรหัสสถานะการตอบกลับเช่น OK ใน 200 OK, 404 ไม่พบ
5. ResponseBody ตอบสนองต่ออาร์เรย์ไบต์ของข้อมูลซึ่งสามารถใช้โดยตรงใน VBScript แต่ต้องแปลงใน JScript
6. ResponseText รับข้อมูลการตอบกลับตามข้อความ
7. Responsexml ส่งคืนข้อมูลการตอบกลับเป็นวัตถุ XMLDOM
8. การตอบสนองการตอบสนองวัตถุโฟลว์แอตทริบิวต์นี้ไม่ได้ใช้กันทั่วไป