AJAX XMLHttpRequest
- หน้าก่อนหน้า นิยาย AJAX
- หน้าต่อไป AJAX Suggest
วัตถุ XMLHttpRequest ทำให้ AJAX มีความเป็นไปได้
XMLHttpRequest
วัตถุ XMLHttpRequest คือส่วนสำคัญของ AJAX
วัตถุ XMLHttpRequest นี้มีการใช้งานได้ตั้งแต่ Internet Explorer 5.5 และตั้งแต่ กรกฎาคม 2000 แต่ก่อนหน้านี้นั้น วัตถุนี้ยังไม่ได้รับความสนใจอย่างเต็มที่จนกระทั่งปี 2005 ที่มีการอภิปราย AJAX และ Web 2.0
สร้าง XMLHttpRequest วัตถุ
แต่ละเวอร์ชั่นบราวเซอร์ใช้วิธีที่แตกต่างกันเพื่อสร้าง XMLHttpRequest วัตถุ
Internet Explorer ใช้ ActiveXObject。
เวอร์ชันที่ไม่เดียวกันของเวอร์ชั่นแบบที่ใช้งานได้เพียงเดียว XMLHttpRequest เป็นส่วนของ JavaScript ภาษาไว้ใช้ตัวตน
เพื่อรับมือกับปัญหานี้ คุณสามารถใช้โค้ดนี้
var XMLHttp=null if (window.XMLHttpRequest) { XMLHttp=new XMLHttpRequest() } else if (window.ActiveXObject) { XMLHttp=new ActiveXObject("Microsoft.XMLHTTP") }
代码解释:
- สร้างแรกๆ วัตถุที่ใช้งานแบบ XMLHttpRequest XMLHttp 变量。把它的值设置为 null。
- หลังจากนั้นทดสอบ window.XMLHttpRequest วัตถุนี้สามารถใช้ได้ใน Firefox, Mozilla, Opera และ Safari ในเวอร์ชันล่าสุด
- ถ้ามีความสามารถ ใช้มันเพื่อสร้างวัตถุใหม่XMLHttp=new XMLHttpRequest()
- ถ้าไม่สามารถใช้ได้ ตรวจสอบ window.ActiveXObject เป็นไปได้ที่จะใช้ ใน Internet Explorer version 5.5 และเวอร์ชันที่สูงกว่า
- ถ้ามีความสามารถ ใช้มันเพื่อสร้างวัตถุใหม่XMLHttp=new ActiveXObject()
ตัวอย่างที่ถูกปรับปรุง
บางนักพัฒนาโปรแกรมชื่นชอบใช้เวอร์ชัน XMLHttpRequest ที่ใหม่และเร็วที่สุด
ดังนั้นตัวอย่างดังกล่าวพยายามโหลดเวอร์ชันของ "Msxml2.XMLHTTP" ที่เปิดใช้งานใน Internet Explorer 6 หากไม่สามารถโหลดได้ ก็กลับไปใช้ "Microsoft.XMLHTTP" ที่สามารถใช้งานได้ใน Internet Explorer 5.5 และเวอร์ชันหลัง
function GetXmlHttpObject() { var xmlHttp=null; try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); } catch (e) { // Internet Explorer try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; }
代码解释:
- 首先创建用作 XMLHttpRequest 对象的 XMLHttp 变量。把它的值设置为 null。
- 按照 web 标准创建对象 (Mozilla, Opera 以及 Safari):XMLHttp=new XMLHttpRequest()
- 按照微软的方式创建对象,在 Internet Explorer 6 及更高的版本可用:XMLHttp=new ActiveXObject("Msxml2.XMLHTTP")
- 如果捕获错误,则尝试更老的方法 (Internet Explorer 5.5) :XMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
更多有关 XMLHttpRequest 对象的信息
หากคุณต้องการอ่านเนื้อหาเกี่ยวกับ XMLHttpRequest มากกว่านี้ โปรดเข้าเว็บไซต์ของเรา ตัวเรียน AJAX。
- หน้าก่อนหน้า นิยาย AJAX
- หน้าต่อไป AJAX Suggest