เห็น AJAX เขามี XMLHttpRequest สำหรับการส่ง request และรับ response จาก server โดยไม่ต้องทำการ reload page โดยการทำงานนั้นจะเป้นในลักษณะของ background process หรือ hidden ไว้

มาดูหน่อยว่า XMLHttpRequest object support browser ไรบ้าง
ดูไปดูมามันก็ support หมดครับ แต่แบ่งออกเป็นสองพรรคใหญ่ ดังนี้

1. สำหรับ Firefox, Mizila, Netscape

CODE

var xmlhttp=new XMLHttpRequest()
2. สำหรับ Internet Explorer เท่านั้น
CODE

var xmlhttp=new ActiveXObject(“Microsoft.XMLHTTP”)

และแล้วก็มาถึงตัวอย่างที่ทาง web เขาให้มาครับ
CODE

<script type=”text/javascript”>
var xmlhttp
function loadXMLDoc(url)
{
// code for Mozilla, etc.
if (window.XMLHttpRequest)
 {
 xmlhttp=new XMLHttpRequest()
 xmlhttp.onreadystatechange=xmlhttpChange
 xmlhttp.open(“GET”,url,true)
 xmlhttp.send(null)
 }
// code for IE
else if (window.ActiveXObject)
 {
 xmlhttp=new ActiveXObject(“Microsoft.XMLHTTP”)
   if (xmlhttp)
   {
   xmlhttp.onreadystatechange=xmlhttpChange
   xmlhttp.open(“GET”,url,true)
   xmlhttp.send()
   }
 }
}
function xmlhttpChange()
{
// if xmlhttp shows “loaded”
if (xmlhttp.readyState==4)
 {
 // if “OK”
 if (xmlhttp.status==200)
   {
   // …some code here…
   }
 else
   {
   alert(“Problem retrieving XML data”)
   }
 }
}
</script>
เทคโนโลยีพวกนี้ไม่เคยศึกษามาเลย โอ้ย….. ต้องศึกษาแล้วววว

— comment–

แค่ต้องเช็คว่าเป็น Mozilla หรือ IE ผมก็ว่าไม่ค่อยน่าใช้แล้วครับ เวลา coding ต้องเขียน 2 แบบ ซึ่งมีโอกาสผิดพลาดสูง การ debug Javascript ยากนะครับ ถ้าต้องเขียน code 2 แบบอย่างนี้ เวลาพัฒนาจริง ลำบากแน่ ยิ่งต่อไปอนาคตถ้า Firefox มีส่วนแบ่งตลาดมากขึ้น เราจะไม่สามารถละทิ้ง user ที่ใช้ Firefox ได้ครับ

–comment–
ใช่แล้วครับ ตรงนี้ผมก็ว่าไม่ค่อยดีครับ
แค่ตัว javascript ที่ผมใช้เป็นประจำก็ยังไม่ support ในทุกๆ browser เลยครับ
แต่ผมคิดว่าทาง W3C น่าจะมีมาตรฐานอะไรออกมาเพื่อ support ครับ เพราะว่าเท่าที่อ่านมา XMLHttpRequest ไม่ได้เป็นมาตรฐานของ W3C ครับ จะมีที่เป็นมาตรฐานก็มีตัว W3C DOM Level3 นั่นแหละครับ

–comment–
Is the XMLHttpRequest Object a W3C Standard?
The XMLHttpRequest object is not a W3C standard.
The W3C DOM Level 3 “Load and Save” specification contains some similar functionality, but these are not implemented in any browsers yet. So, at the moment, if you need to send an HTTP request from a browser, you will have to use the XMLHttpRequest object.

–comment–
อันนั้นปัญหาหลักเลยครับ ของ Ajax
คิดว่า ถ้าหากหนีปัญหา Browser นี่ คงต้องไปใช้ Presentation level อย่าง Flash ล่ะครับ