Õâƪ±Ê¼ÇµÄÖ÷ÒªÄÚÈÝ£ºajax¼ò½é£¬XMLHttpRequest¶ÔÏóʹÓá£
1. Ajax²»Ö»ÊÇÒ»¸öÌض¨µÄ¼¼Êõ£¬¸üÓ¦ËãÊÇÒ»ÖÖ¼¼ÇÉ¡£Adaptive PathµÄJesse James Garrett×îÔç´´ÔìÁËÕâ¸ö´Ê¡£ÔÚËûµÄÎÄÕ¡¶Ajax: A New Approach to Web Applications¡·ÖУ¬Garrett·ÖÎöÁËAjaxÕâÖÖ·½·¨¡£AjaxÊÇAsynchronous JavaScript+XMLµÄËõд¡£
2. ʹÓÃAjaxʱµÄ¼¸¸ö³£·¸µÄ´íÎó£º
3. AjaxÊÇÒ»¸ö¿Í»§¶Ë¼¼Êõ£¬Ëü²¢²»ÏÞÖÆ·þÎñÆ÷¶ËʹÓúÎÖÖ¼¼Êõ¡£Ê¹ÓÃAjaxÐèÒªÁ˽âµÄÏà¹Ø¼¼Êõ°üÀ¨£º
4. AjaxµÄÉè¼Æģʽ£º
5. XMLHttpRequestÔÚ²»Í¬ä¯ÀÀÆ÷ÖÐʵÏÖ·½·¨²»Í¬¡£IE°ÑËüʵÏÖΪһ¸öActiveX¶ÔÏó£¬ÆäËûä¯ÀÀÆ÷°ÑËüʵÏÖΪһ¸ö±¾µØJavaScript¶ÔÏó¡£
´úÂëʾÀýÈçÏ£º
var xmlHttp; //´´½¨Ò»¸öÈ«¾Ö±äÁ¿±£´æ¶ÔXMLHttpRequest¶ÔÏóµÄÒýÓà function createXMLHttpRequest(){ if(window.ActiveXObject){ //IEä¯ÀÀÆ÷ xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } else if(window.XMLHttpRequest){ //·ÇIEä¯ÀÀÆ÷ xmlHttp = new XMLHttpRequest(); } } 6. XMLHttpRequestµÄ·½·¨£º7. XMLHttpRequestµÄÊôÐÔ£º
8. ±ê×¼ajax½»»¥Ê¾Òâͼ£º
1. Ò»¸ö¿Í»§¶Ëʼþ´¥·¢Ò»¸öAjaxʼþ¡£ÀýÈç¿ÉÒÔÓÐÈçϵĴúÂ룺
<input type="text"d="email" name="email" onblur="validateEmail()";> 2. ´´½¨XMLHttpRequest¶ÔÏóµÄÒ»¸öʵÀý¡£Ê¹ÓÃopen()·½·¨½¨Á¢µ÷Ó㬲¢ÉèÖÃURLÒÔ¼°ËùÏ£ÍûµÄHTTP·½·¨£¨Í¨³£ÊÇGET»òPOST£©¡£ÇëÇóʵ¼ÊÉÏͨ¹ýÒ»¸ösend()·½·¨µ÷Óô¥·¢¡£¿ÉÄܵĴúÂëÈçÏÂËùʾ£º var xmlHttp; function validateEmail() { var email = document.getElementById("email"); var url = "validate?email=" + escape(email.value); if (window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } else if (window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); } xmlHttp.open("GET", url); xmlHttp.onreadystatechange = callback; xmlHttp.send(null); } 3. Ïò·þÎñÆ÷×ö³öÇëÇ󡣿ÉÄܵ÷ÓÃservlet¡¢CGI½Å±¾£¬»òÕßÈκηþÎñÆ÷¶Ë¼¼Êõ¡£4. ·þÎñÆ÷¿ÉÒÔ×öÄãÏë×öµÄÊÂÇ飬°üÀ¨·ÃÎÊÊý¾Ý¿â£¬ÉõÖÁ·ÃÎÊÁíÒ»¸öϵͳ¡£
5. ÇëÇ󷵻ص½ä¯ÀÀÆ÷¡£Content-TypeÉèÖÃΪtext/xml¡ª¡ªXMLHttpRequest¶ÔÏóÖ»ÄÜ´¦Àítext/htmlÀàÐ͵Ľá¹û¡£ÔÚÁíÍâһЩ¸ü¸´ÔÓʾÀýÖУ¬ÏìÓ¦¿ÉÄÜÉæ¼°¸ü¹ã£¬»¹°üÀ¨JavaScript¡¢DOM¹ÜÀíÒÔ¼°ÆäËûÏà¹ØµÄ¼¼Êõ¡£ÐèҪ˵Ã÷£¬Ä㻹ÐèÒªÉèÖÃÁíÍâһЩÊײ¿£¬Ê¹ä¯ÀÀÆ÷²»»áÔÚ±¾µØ»º´æ½á¹û¡£Îª´Ë¿ÉÒÔʹÓÃÏÂÃæµÄ´úÂ룺
response.setHeader("Cache-Control", "no-cache"); response.setHeader("Pragma", "no-cache"); ¡¾×¢¡¿¶¨ÒåPragmaÊÇΪÁ˱£Ö¤Ïòºó¼æÈÝ£¬ËüºÍCache-Control¹¦ÄÜÒ»Ñù¡£6. ÔÚÕâ¸öʾÀýÖУ¬XMLHttpRequest¶ÔÏóÅäÖÃΪ´¦Àí·µ»ØʱҪµ÷ÓÃcallback()º¯Êý¡£Õâ¸öº¯Êý»á¼ì²éXMLHttpRequest¶ÔÏóµÄreadyStateÊôÐÔ£¬È»ºó²é¿´·þÎñÆ÷·µ»ØµÄ״̬Âë¡£Èç¹ûÒ»ÇÐÕý³££¬callback()º¯Êý¾Í»áÔÚ¿Í»§¶ËÉÏ×öЩÓÐÒâ˼µÄ¹¤×÷¡£ÒÔϾÍÊÇÒ»¸öµäÐ͵Ļص÷·½·¨£º
function callback() { if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { //do something interesting here } } }9. Ajax¿ò¼Ü£º
ä¯ÀÀÆ÷¶Ë¿ò¼Ü
·þÎñÆ÷¶Ë¿ò¼Ü
¡¡