1¡¢Ê²Ã´ÊÇAJAX
AJAXµÄÈ«³ÆÊÇAsynchronous JavaScript And XML.
AJAXÊÇ2005ÄêÓÉGoogle·¢Æð²¢Á÷ÐÐÆðÀ´µÄ±à³Ì·½·¨£¬ AJAX²»ÊÇÒ»¸öеıà³ÌÓïÑÔ£¬µ«ÊÇËüÊÇÒ»¸öʹÓÃÒÑÓбê×¼µÄеıà³Ì¼¼Êõ¡£ÊÇÒ»ÖÖ´´½¨½»»¥Ê½ÍøÒ³Ó¦ÓõÄÍøÒ³¿ª·¢¼¼Êõ¡£
ʹÓÃAJAX¿ÉÒÔ´´½¨¸üºÃ£¬¸ü¿ì£¬¸üÓû§½çÃæÓѺõÄWebÓ¦Óá£
AJAX¼¼Êõ»ùÓÚJavascriptºÍHTTP Request.
Ajax°üº¬ÏÂÁм¼Êõ£º
»ùÓÚweb±ê×¼£¨standards-basedpresentation£©XHTML+CSSµÄ±íʾ£»
ʹÓà DOM£¨Document ObjectModel£©½øÐж¯Ì¬ÏÔʾ¼°½»»¥£»
ʹÓà XML ºÍ XSLT ½øÐÐÊý¾Ý½»»»¼°Ïà¹Ø²Ù×÷£»
ʹÓà XMLHttpRequest ½øÐÐÒì²½Êý¾Ý²éѯ¡¢¼ìË÷£»
ʹÓà JavaScript ½«ËùÓеĶ«Î÷°ó¶¨ÔÚÒ»Æð¡£
2¡¢ÎªÊ²Ã´ÒªÊ¹ÓÃAjax£¿
1¡¢Í¨¹ýÒ첽ģʽ£¬ÌáÉýÁËÓû§ÌåÑé
2¡¢ÓÅ»¯ÁËä¯ÀÀÆ÷ºÍ·þÎñÆ÷Ö®¼äµÄ´«Ê䣬¼õÉÙ²»±ØÒªµÄÊý¾ÝÍù·µ£¬¼õÉÙÁË´ø¿íÕ¼ÓÃ
3¡¢AjaxÒýÇæÔÚ¿Í»§¶ËÔËÐУ¬³Ðµ£ÁËÒ»²¿·Ö±¾À´ÓÉ·þÎñÆ÷³Ðµ£µÄ¹¤×÷£¬´Ó¶ø¼õÉÙÁË´óÓû§Á¿ÏµķþÎñÆ÷¸ºÔØ¡£
3¡¢AJAX×î´óµÄÌØµãÊÇʲô£¿
Ajax¿ÉÒÔʵÏÖ¶¯Ì¬²»Ë¢Ð£¨¾Ö²¿Ë¢Ð£©
¾ÍÊÇÄÜÔÚ²»¸üÐÂÕû¸öÒ³ÃæµÄǰÌáÏÂά»¤Êý¾Ý¡£ÕâʹµÃWebÓ¦ÓóÌÐò¸üΪѸ½ÝµØ»ØÓ¦Óû§¶¯×÷£¬²¢±ÜÃâÁËÔÚÍøÂçÉÏ·¢ËÍÄÇЩûÓиıä¹ýµÄÐÅÏ¢¡£
4¡¢Çë½éÉÜÒ»ÏÂXMLhttprequest¶ÔÏó¡£
AjaxµÄºËÐÄÊÇJavaScript¶ÔÏóXmlHttpRequest¡£¸Ã¶ÔÏóÔÚInternet Explorer 5ÖÐÊ×´ÎÒýÈ룬ËüÊÇÒ»ÖÖÖ§³ÖÒì²½ÇëÇóµÄ¼¼Êõ¡£¼ò¶øÑÔÖ®£¬XmlHttpRequestʹÄú¿ÉÒÔʹÓÃJavaScriptÏò·þÎñÆ÷Ìá³öÇëÇó²¢´¦ÀíÏìÓ¦£¬¶ø²»×èÈûÓû§¡£Í¨¹ýXMLHttpRequest¶ÔÏó£¬Web¿ª·¢ÈËÔ±¿ÉÒÔÔÚÒ³Ãæ¼ÓÔØÒÔºó½øÐÐÒ³ÃæµÄ¾Ö²¿¸üС£
5¡¢AJAX¼¼ÊõÌåϵµÄ×é³É²¿·ÖÓÐÄÄЩ£¿
HTML£¬css£¬dom£¬xml£¬xmlHttpRequest£¬javascript
6¡¢AJAXÓ¦Óúʹ«Í³WebÓ¦ÓÃÓÐʲô²»Í¬¡£
ÔÚ´«Í³µÄJavascript±à³ÌÖУ¬Èç¹ûÏëµÃµ½·þÎñÆ÷¶ËÊý¾Ý¿â»òÎļþÉϵÄÐÅÏ¢£¬»òÕß·¢ËͿͻ§¶ËÐÅÏ¢µ½·þÎñÆ÷£¬ÐèÒª½¨Á¢Ò»¸öHTML formÈ»ºóGET»òÕßPOSTÊý¾Ýµ½·þÎñÆ÷¶Ë¡£Óû§ÐèÒªµã»÷”Submit”°´Å¥À´·¢ËÍ»òÕß½ÓÊÜÊý¾ÝÐÅÏ¢£¬È»ºóµÈ´ý·þÎñÆ÷ÏìÓ¦ÇëÇó£¬Ò³ÃæÖØÐ¼ÓÔØ¡£
ÒòΪ·þÎñÆ÷ÿ´Î¶¼»á·µ»ØÒ»¸öеÄÒ³Ãæ£¬ ËùÒÔ´«Í³µÄwebÓ¦ÓÃÓпÉÄܺÜÂý¶øÇÒÓû§½»»¥²»ÓѺá£
ʹÓÃAJAX¼¼Êõ£¬ ¾Í¿ÉÒÔʹJavascriptͨ¹ýXMLHttpRequest¶ÔÏóÖ±½ÓÓë·þÎñÆ÷½øÐн»»¥¡£
ͨ¹ýHTTP Request£¬ Ò»¸öwebÒ³Ãæ¿ÉÒÔ·¢ËÍÒ»¸öÇëÇóµ½web·þÎñÆ÷²¢ÇÒ½ÓÊÜweb·þÎñÆ÷·µ»ØµÄÐÅÏ¢(²»ÓÃÖØÐ¼ÓÔØÒ³Ãæ)£¬Õ¹Ê¾¸øÓû§µÄ»¹ÊÇͨһ¸öÒ³Ãæ£¬Óû§¸Ð¾õÒ³ÃæË¢Ð£¬Ò²¿´²»µ½µ½Javascriptºǫ́½øÐеķ¢ËÍÇëÇóºÍ½ÓÊÜÏìÓ¦¡£
7¡¢AJAXÇëÇó×ܹ²ÓжàÉÙÖÖCALLBACK
AjaxÇëÇó×ܹ²ÓаËÖÖCallback
onSuccess
onFailure
onUninitialized
onLoading
onLoaded
onInteractive
onComplete
onException
8.AjaxºÍjavascriptµÄÇø±ð
javascriptÊÇÒ»ÖÖÔÚä¯ÀÀÆ÷¶ËÖ´ÐеĽű¾ÓïÑÔ£¬AjaxÊÇÒ»ÖÖ´´½¨½»»¥Ê½ÍøÒ³Ó¦ÓõĿª·¢¼¼Êõ £¬ËüÊÇÀûÓÃÁËһϵÁÐÏà¹ØµÄ¼¼ÊõÆäÖоͰüÀ¨javascript¡£
JavascriptÊÇÓÉÍø¾°¹«Ë¾¿ª·¢µÄÒ»Öֽű¾ÓïÑÔ£¬ËüºÍsun¹«Ë¾µÄjavaÓïÑÔÊÇûÓÐÈκιØÏµµÄ£¬ËüÃÇÏàËÆµÄÃû³ÆÖ»ÊÇÒ»ÖÖÐÐÏú²ßÂÔ¡£
ÔÚÒ»°ãµÄweb¿ª·¢ÖУ¬javascriptÊÇÔÚä¯ÀÀÆ÷¶ËÖ´Ðеģ¬ÎÒÃÇ¿ÉÒÔÓÃjavascript¿ØÖÆä¯ÀÀÆ÷µÄÐÐΪºÍÄÚÈÝ¡£
9¡¢ÔÚ AjaxÓ¦ÓÃÖÐÐÅÏ¢ÊÇÈçºÎÔÚä¯ÀÀÆ÷ºÍ·þÎñÆ÷Ö®¼ä´«µÝµÄ
ͨ¹ýXMLÊý¾Ý»òÕß×Ö·û´®
10¡¢ÔÚä¯ÀÀÆ÷¶ËÈçºÎµÃµ½·þÎñÆ÷¶ËÏìÓ¦µÄXMLÊý¾Ý¡£
XMLHttpRequest¶ÔÏóµÄresponseXMlÊôÐÔ
11¡¢ XMLHttpRequest¶ÔÏóÔÚIEºÍFirefoxÖд´½¨·½Ê½Óкβ»Í¬£¿
ÓУ¬IEÖÐͨ¹ýnew ActiveXObject()µÃµ½£¬FirefoxÖÐͨ¹ýnewXMLHttpRequest()µÃµ½10¡¢½éÉÜÒ»ÏÂXMLHttpRequest¶ÔÏóµÄ³£Ó÷½·¨ºÍÊôÐÔ¡£
open(“method”,”URL”) ½¨Á¢¶Ô·þÎñÆ÷µÄµ÷Ó㬵ÚÒ»¸ö²ÎÊýÊÇHTTPÇëÇó·½Ê½¿ÉÒÔΪGET£¬POST»òÈκηþÎñÆ÷ËùÖ§³ÖµÄÄúÏëµ÷Óõķ½Ê½¡£
µÚ¶þ¸ö²ÎÊýÊÇÇëÇóÒ³ÃæµÄURL¡£
send()·½·¨£¬·¢Ë;ßÌåÇëÇó
abort()·½·¨£¬Í£Ö¹µ±Ç°ÇëÇó£¡
readyStateÊôÐÔÇëÇóµÄ״̬ ÓÐ5¸ö¿Éȡֵ0=δ³õʼ»¯ £¬1=ÕýÔÚ¼ÓÔØ£¬2=ÒÔ¼ÓÔØ£¬3=½»»¥ÖУ¬4=Íê³É
responseText ÊôÐÔ·þÎñÆ÷µÄÏìÓ¦£¬±íʾΪһ¸ö´®
reponseXML ÊôÐÔ·þÎñÆ÷µÄÏìÓ¦£¬±íʾΪXML
status·þÎñÆ÷µÄHTTP״̬Â룬200¶ÔÓ¦ok 400¶ÔÓ¦not found
11¡¢AJAX¶¼ÓÐÄÄЩÓŵãºÍȱµã£¿
1¡¢×î´óµÄÒ»µãÊÇÒ³ÃæÎÞˢУ¬Óû§µÄÌåÑé·Ç³£ºÃ¡£
2¡¢Ê¹ÓÃÒì²½·½Ê½Óë·þÎñÆ÷ͨÐÅ£¬¾ßÓиü¼ÓѸËÙµÄÏìÓ¦ÄÜÁ¦¡£
3¡¢¿ÉÒÔ°ÑÒÔǰһЩ·þÎñÆ÷¸ºµ£µÄ¹¤×÷ת¼Þµ½¿Í»§¶Ë£¬ÀûÓÿͻ§¶ËÏÐÖõÄÄÜÁ¦À´´¦Àí£¬¼õÇá·þÎñÆ÷ºÍ´ø¿íµÄ¸ºµ££¬½ÚÔ¼¿Õ¼äºÍ¿í´ø×âÓóɱ¾¡£²¢ÇÒ¼õÇá·þÎñÆ÷µÄ¸ºµ££¬ajaxµÄÔÔòÊÇ“°´ÐèÈ¡Êý¾Ý”£¬¿ÉÒÔ×î´ó³Ì¶ÈµÄ¼õÉÙÈßÓàÇëÇ󣬺ÍÏìÓ¦¶Ô·þÎñÆ÷Ôì³ÉµÄ¸ºµ£¡£
4¡¢»ùÓÚ±ê×¼»¯µÄ²¢±»¹ã·ºÖ§³ÖµÄ¼¼Êõ£¬²»ÐèÒªÏÂÔØ²å¼þ»òÕßС³ÌÐò¡£
12¡¢ajaxµÄȱµã
1¡¢ajax²»Ö§³Öä¯ÀÀÆ÷back°´Å¥¡£
2¡¢°²È«ÎÊÌâ AJAX±©Â¶ÁËÓë·þÎñÆ÷½»»¥µÄϸ½Ú¡£
3¡¢¶ÔËÑË÷ÒýÇæµÄÖ§³Ö±È½ÏÈõ¡£
4¡¢ÆÆ»µÁ˳ÌÐòµÄÒì³£»úÖÆ¡£
5¡¢²»ÈÝÒ×µ÷ÊÔ¡£
13¡¢½éÉÜÒ»ÏÂXMLHttpRequest¶ÔÏó
ͨ¹ýXMLHttpRequest¶ÔÏó£¬Web¿ª·¢ÈËÔ±¿ÉÒÔÔÚÒ³Ãæ¼ÓÔØÒÔºó½øÐÐÒ³ÃæµÄ¾Ö²¿¸üС£
AJAX¿ªÊ¼Á÷ÐÐʼÓÚGoogleÔÚ2005ÄêʹÓõĔGoogle Suggest”¡£
“Google Suggest”¾ÍÊÇʹÓÃXMLHttpRequest¶ÔÏóÀ´´´½¨¶¯Ì¬µÄWeb½Ó¿Ú£º
µ±Óû§¿ªÊ¼ÊäÈëgoogleµÄËÑË÷¿ò£¬Javascript·¢ËÍÓû§ÊäÈëµÄ×Ö·ûµ½·þÎñÆ÷£¬È»ºó·þÎñÆ÷·µ»ØÒ»¸ö½¨ÒéÁÐ±í¡£
XMLHttpRequest¶ÔÏóÔÚIE5.0+, Safari 1.2, Mozilla1.0/Firefox, Opera 8+ ºÍNetScapt7 ¿ªÊ¼±»Ö§³Ö¡£
14¡¢Èç¹ûÊìϤijÖÖajax¿ò¼Ü£¬Ëû¿ÉÄÜ»áÎʵ½ÔõÑùÔÚ³ÌÐòÖÐʹÓÃÕâÖÖ¿ò¼Ü
DWR(DirectWeb Remoting)ÊÇÒ»¸öWEBÔ¶³Ìµ÷Óÿò¼Ü.ÀûÓÃÕâ¸ö¿ò¼Ü¿ÉÒÔÈÃAJAX¿ª·¢±äµÃºÜ¼òµ¥.ÀûÓÃDWR¿ÉÒÔÔÚ¿Í»§¶ËÀûÓÃJavaScriptÖ±½Óµ÷Ó÷þÎñ¶ËµÄJava·½·¨²¢·µ»ØÖµ¸øJavaScript¾ÍºÃÏñÖ±½Ó±¾µØ¿Í»§¶Ëµ÷ÓÃÒ»Ñù(DWR¸ù¾ÝJavaÀàÀ´¶¯Ì¬Éú³ÉJavaScrip´úÂë).
DWRµÄʵÏÖÔÀíÊÇͨ¹ý·´É䣬½«java·Òë³Éjavascript£¬È»ºóÀûÓûص÷»úÖÆ£¬´Ó¶øÊµÏÖÁËjavascriptµ÷ÓÃJava´úÂë
±¾ÎİæÈ¨¹éÀÖÓã²¥¿ÍphpÅàѵѧԺËùÓУ¬»¶Ó×ªÔØ£¬×ªÔØÇë×¢Ã÷×÷Õß³ö´¦¡£Ð»Ð»£¡
×÷ÕߣºÀÖÓã²¥¿ÍphpÅàѵѧԺ
Ê×·¢£ºhttp://www.itcast.cn/php