ͨ¹ýAjaxÎÒÃÇ¿ÉÒÔÏò·þÎñÆ÷·¢ËÍÇëÇó£¬ÔÚ²»×èÈûÒ³ÃæµÄÇé¿öϽøÐÐÊý¾Ý½»»¥£¬Ò²¿ÉÒÔÀí½âΪÒì²½Êý¾Ý´«Êä¡£ÔÚAjaxµÄ°ïÖúÏÂÎÒÃǵÄÍøÒ³Ö»Ðè¾Ö²¿Ë¢Ð¼´¿É¸üÐÂÊý¾ÝµÄÏÔʾ£¬¼õÉÙÁ˲»±ØÒªµÄÊý¾ÝÁ¿£¬´ó´óÌá¸ßÁËÓû§ÌåÑ飬Ëõ¶ÌÁËÓû§µÈ´ýµÄʱ¼ä£¬Ê¹µÃwebÓ¦ÓóÌÐò¸üС¡¢¸ü¿ì£¬¸üÓѺá£

AjaxÊÇĿǰºÜÆÕ±éµÄÒ»Ãż¼Êõ£¬Ò²ÊǺÜÖµµÃ̽ÌÖºÍÑо¿µÄÒ»Ãż¼Êõ¡£±¾ÎĽ«Õë¶ÔAjaxµÄ·¢Õ¹¹ý³Ì²¢½áºÏÆäÔÚ²»Í¬¿â¿ò¼ÜÖеÄʹÓ÷½Ê½À´ºÍ´ó¼Ò·ÖÏíÏÂAjaxµÄÄÇЩÐÂÀÏÓï·¨¡£
Ajax¼ò½é AjaxÈ«³ÆÎª¡°Asynchronous Javascript And XML¡±£¬ ¼´¡°Òì²½JavaScriptºÍXML¡±µÄÒâ˼¡£Í¨¹ýAjaxÎÒÃÇ¿ÉÒÔÏò·þÎñÆ÷·¢ËÍÇëÇó£¬ÔÚ²»×èÈûÒ³ÃæµÄÇé¿öϽøÐÐÊý¾Ý½»»¥£¬Ò²¿ÉÒÔÀí½âΪÒì²½Êý¾Ý´«Êä¡£ÔÚAjaxµÄ°ïÖúÏÂÎÒÃǵÄÍøÒ³Ö»Ðè¾Ö²¿Ë¢Ð¼´¿É¸üÐÂÊý¾ÝµÄÏÔʾ£¬¼õÉÙÁ˲»±ØÒªµÄÊý¾ÝÁ¿£¬´ó´óÌá¸ßÁËÓû§ÌåÑ飬Ëõ¶ÌÁËÓû§µÈ´ýµÄʱ¼ä£¬Ê¹µÃwebÓ¦ÓóÌÐò¸üС¡¢¸ü¿ì£¬¸üÓѺᣠµ±È»ÒÔÉ϶¼ÊÇ˾¿Õ¼û¹ßµÄÄÚÈÝÁË£¬×÷ΪһÃûºÏ¸ñµÄ¿ª·¢ÈËÔ±»ù±¾¶¼ÔÙÊìϤ²»¹ýÁË£¬ÕâÀïֻΪÄÇЩ¸ÕÈëÃŵÄÐÂÊÖ×öÒ»¸ö¼òµ¥µÄ½éÉÜ¡£¸ü¶àµÄ¹ØÓÚAjaxµÄ¼ò½éÇëÒÆ²½W3School½øÐÐÁ˽⣺http://www.w3school.com.cn/ph...
ÔÉúAjax »ù±¾ÉÏËùÓÐÏÖ´úµÄä¯ÀÀÆ÷¶¼Ö§³ÖÔÉúAjaxµÄ¹¦ÄÜ£¬ÏÂÃæ¾ÍÀ´Ïêϸ½éÉÜÏÂÀûÓÃÔÉúJSÎÒÃÇÔõÑùÀ´·¢ÆðºÍ´¦ÀíAjaxÇëÇó¡£
1.»ñÈ¡XMLHttpRequest¶ÔÏó

Èç¹ûÄãµÄÏîĿӦÓò»¿¼ÂǵͰ汾IE£¬ÄÇô¿ÉÒÔÖ±½ÓÓÃÉÏÃæµÄ·½·¨£¬ËùÓÐÏÖ´úä¯ÀÀÆ÷ (Firefox¡¢Chrome¡¢Safari ÒÔ¼° Opera) ¶¼ÄÚ½¨ÁË XMLHttpRequest ¶ÔÏó¡£Èç¹ûÐèÒª¼æÈÝÀϰ汾IE(IE5¡¢IE6)£¬ÄÇô¿ÉÒÔʹÓà ActiveX ¶ÔÏó£º

2.²ÎÊýÅäÖà ÓÐÁËXMLHttpRequest¶ÔÏó£¬ÎÒÃÇ»¹ÐèÒªÅäÖÃһЩÇëÇóµÄ²ÎÊýÐÅÏ¢À´Íê³ÉÊý¾Ý½»»¥£¬ÀûÓÃopen·½·¨¼´¿É£º

open·½·¨ÎªÎÒÃÇ´´½¨ÁËÒ»¸öеÄhttpÇëÇ󣬯äÖеÚÒ»¸ö²ÎÊýΪÇëÇó·½Ê½£¬Ò»°ãΪ'GET'»ò'POST';µÚ¶þ¸ö²ÎÊýΪÇëÇóurl;µÚÈý¸ö²ÎÊýΪÊÇ·ñÒì²½£¬Ä¬ÈÏΪtrue¡£
3.·¢ËÍÇëÇó ÅäÖÃÍêÁË»ù±¾²ÎÊýÐÅÏ¢£¬ÎÒÃÇÖ±½Óµ÷ÓÃsend·½·¨·¢ËÍÇëÇ󣬴úÂëÈçÏ£º

ÕâÀïÐèҪעÒâµÄÊÇÈç¹ûʹÓÃGET·½·¨´«µÝ²ÎÊý£¬ÎÒÃÇ¿ÉÒÔÖ±½Ó½«²ÎÊý·ÅÔÚurlºóÃæ£¬±ÈÈç'/test/?name=luozh&size=12';Èç¹ûʹÓÃPOST·½·¨£¬ÄÇôÎÒÃǵIJÎÊýÐèҪдÔÚsend·½·¨ÀÈ磺

×îÖÕ»áÒÔForm DataµÄÐÎʽ´«µÝ£º

Èç¹û²»ÉèÖÃÇëÇóÍ·£¬ÔÉúAjax»áĬÈÏʹÓÃContent-TypeÊÇ'text/plain;charset=UTF-8'µÄ·½Ê½·¢ËÍÊý¾Ý,Èç¹û°´ÕÕÉÏÃæµÄ²ÎÊýÊéдÐÎʽ£¬ÎÒÃÇ×îÖÕ´«ÊäµÄÐÎʽÕâÑùµÄ£º 
ÏÔÈ»Õâ²¢²»ÊÇ·þÎñÆ÷ÆÚÍûµÄÊý¾Ý¸ñʽ£¬ÎÒÃÇ¿ÉÒÔÕâÑùд£º

×îÖÕ´«ÊäµÄ¸ñʽÈçÏ£º 
ÕâÑùÎÒÃÇ¿ÉÒÔÖ±½Ó´«µÝJSON×Ö·û´®¸øºǫ́´¦Àí£¬µ±È»ºǫ́ҲÐí½øÐÐÏàÓ¦ÅäÖá£
4.¼à²â״̬ ·¢ËÍÍêAjaxÇëÇóÖ®ºó£¬ÎÒÃÇÐèÒªÕë¶Ô·þÎñÆ÷·µ»ØµÄ״̬½øÐмà²â²¢½øÐÐÏàÓ¦µÄ´¦Àí£¬ÕâÀïÎÒÃÇÐèҪʹÓÃonreadystatechange·½·¨£¬´úÂëÈçÏ£º

ÉÏÃæÎÒÃÇÀûÓÃonreadystatechange¼à²â״̬£¬²¢ÔÚÄÚ²¿ÀûÓÃreadyState»ñÈ¡µ±Ç°µÄ״̬¡£readyStateÒ»¹²ÓÐ5¸ö½×¶Î£¬µ±ÆäΪ4ʱ±íʾÏìÓ¦ÄÚÈݽâÎöÍê³É£¬¿ÉÒÔÔÚ¿Í»§¶Ëµ÷ÓÃÁË¡£µ±readyStateΪ4ʱ£¬ÎÒÃÇÓÖͨ¹ýstatusÀ´»ñȡ״̬Â룬״̬ÂëΪ200ʱִÐгɹ¦´úÂ룬·ñÔòÖ´Ðгö´í´úÂë¡£ µ±È»ÎÒÃÇ¿ÉÒÔÓÃonloadÀ´´úÌæonreadystatechangeµÈÓÚ4µÄÇé¿ö£¬ÒòΪonloadÖ»ÔÚ״̬Ϊ4µÄʱºò²Å±»µ÷Ó㬴úÂëÈçÏ£º

È»¶øÐèҪעÒâµÄÊÇ£¬IE¶ÔonloadÕâ¸öÊôÐÔµÄÖ§³Ö²¢²»ÓѺᣠ³ýÁËonload»¹ÓÐ onloadstart
onprogress
onabort
ontimeout
onerror
onloadend µÈʼþ£¬ÓÐÐËȤµÄͬѧ¿ÉÒÔÇ××Ôȥʵ¼ùËüÃǵÄÓô¦¡£ ÒÔÉϱãÊÇÔÉúAjaxÇëÇóÊý¾ÝµÄ³£¼û´úÂë¡£
ÆäËû¿â¿ò¼ÜÖеÄAjax
1.jQueryÖеÄAjax jQuery×÷Ϊһ¸öʹÓÃÈËÊý×î¶àµÄ¿â£¬ÆäAjaxºÜºÃµÄ·â×°ÁËÔÉúAjaxµÄ´úÂ룬ÔÚ¼æÈÝÐÔºÍÒ×ÓÃÐÔ·½Ãæ¶¼×öÁ˺ܴóµÄÌá¸ß£¬ÈÃAjaxµÄµ÷ÓñäµÃ·Ç³£¼òµ¥¡£ÏÂÃæ±ãÊÇÒ»¶Î¼òµ¥µÄjQueryµÄAjax´úÂ룺

ÓëÔÉúAjax²»Í¬µÄÊÇ£¬jQueryÖÐĬÈϵÄContent-typeÊÇ'application/x-www-form-urlencoded; charset=UTF-8', ÏëÁ˽â¸ü¶àµÄjQuery AjaxµÄÐÅÏ¢¿ÉÒÔÒÆ²½¹Ù·½Îĵµ£ºhttp://api.jquery.com/jquery....
2.Vue.jsÖеÄAjax Vue.js×÷ΪĿǰÈÈÃŵÄǰ¶Ë¿ò¼Ü£¬ÆäʵÆä±¾Éí²¢²»°üº¬Ajax¹¦ÄÜ£¬¶øÊÇͨ¹ý²å¼þµÄÐÎʽ¶îÍâÐèÒªÔÚÏîÄ¿ÖÐÒýÓã¬Æä¹Ù·½ÍƼöAjax²å¼þΪvue-resource£¬ÏÂÃæ±ãÊÇvue-resourceµÄÇëÇó´úÂ룺

vue-resourceÖ§³ÖPromise API£¬Í¬Ê±Ö§³ÖĿǰµÄFirefox, Chrome, Safari, Opera ºÍ IE9+ä¯ÀÀÆ÷£¬ÔÚä¯ÀÀÆ÷¼æÈÝÐÔÉϲ»¼æÈÝIE8£¬±Ï¾¹Vue±¾ÉíÒ²²»¼æÈÝIE8¡£ÏëÁ˽â¸ü¶àµÄvue-resourceµÄÐÅÏ¢¿ÉÒÔÒÆ²½githubÎĵµ£ºhttps://github.com/vuejs/vue-...
3.Angular.jsÖеÄAjax ÕâÀïAngular.jsÖеÄAjaxÖ÷ÒªÖ¸AngularµÄ1.¡Á°æ±¾£¬ÒòΪAngular2Ŀǰ»¹²»½¨ÒéÔÚÉú²ú»·¾³ÖÐʹÓá£

ÔÚAngularÖУ¬ÎÒÃÇÐèÒªÔÚ¿ØÖÆÆ÷ÉÏ×¢²áÒ»¸ö$httpµÄʼþ£¬È»ºó²ÅÄÜÔÚÄÚ²¿Ö´ÐÐAjax¡£AngularµÄAjaxĬÈϵÄContent-typeÊÇ'application/json;charset=UTF-8'£¬ËùÒÔÈç¹ûÏëÓÃ±íµ¥µÄ·½Ê½Ìá½»»¹ÐèÉèÖÃÏÂheadersÊôÐÔ¡£ÏëÁ˽â¸ü¶àµÄAngular AjaxµÄÐÅÏ¢¿ÉÒÔÒÆ²½¹Ù·½Îĵµ£ºhttps://docs.angularjs.org/ap...$http(¿ÉÄÜÐèÒª·Ç½)
4.ReactÖеÄAjax ÔÚReactÖÐÎұȽÏÍÆ¼öʹÓÃfetchÀ´ÇëÇóÊý¾Ý£¬µ±È»Æä²»½öÊÊÓÃÓÚReact£¬ÔÚÈκÎÒ»ÖÖ¿ò¼ÜÈçÉÏÃæµÄVue¡¢AngularÖж¼¿ÉÒÔʹÓã¬ÒòΪÆäÒѾ±»Ä¿Ç°Ö÷Á÷ä¯ÀÀÆ÷ËùÖ§³Ö£¬ÖÁÓÚÆäÖ÷Òª¹¦ÄܺÍÓ÷¨£¬ÎÒÔÚÏÂÃæ»á×öϽ²½â¡£
Fetch API Fetch API ÊÇ»ùÓÚ Promise Éè¼Æ£¬ÓÉÓÚPromiseµÄä¯ÀÀÆ÷¼æÈÝÐÔÎÊÌâ¼°Fetch API±¾ÉíµÄ¼æÈÝÎÊÌ⣬һЩä¯ÀÀÆ÷ÔÝʱ²»Ö§³ÖFetch API£¬ä¯ÀÀÆ÷¼æÈÝͼÈçÏ£º

µ±È»ÎÒÃÇ¿ÉÒÔͨ¹ýʹÓÃһЩ²å¼þÀ´½â¾ö¼æÈÝÐÔÎÊÌ⣬±ÈÈ磺fetch-polyfill¡¢es6-promise¡¢fetch-ie8µÈ¡£ ʹÓÃFetchÎÒÃÇ¿ÉÒԷdz£±ã½ÝµÄ±àдAjaxÇëÇó£¬ÎÒÃÇÓÃÔÉúµÄXMLHttpRequst¶ÔÏóºÍFetchÀ´±È½Ïһϣº XMLHttpRequst API

Fetch API

¿ÉÒÔ¿´³öʹÓÃFetchºóÎÒÃǵĴúÂë¸ü¼Ó¼ò½àºÍÓïÒ廯£¬Á´Ê½µ÷Óõķ½Ê½Ò²Ê¹Æä¸ü¼ÓÁ÷³©ºÍÇåÎú¡£Ëæ×Åä¯ÀÀÆ÷Äں˵IJ»¶ÏÍêÉÆ£¬½ñºóµÄXMLHttpRequest»áÖð½¥±»FetchÌæ´ú¡£¹ØÓÚFetchµÄÏêϸ½éÉÜ¿ÉÒÔÒÆ²½£ºhttps://segmentfault.com/a/11...
¿çÓòAjax ½éÉÜÁ˸÷ÖÖ¸÷ÑùµÄAjax API£¬ÎÒÃDz»ÄܱÜÃâµÄÒ»¸öÖØÒªÎÊÌâ¾ÍÊÇ¿çÓò£¬ÕâÀïÖØµã½²½âÏÂAjax¿çÓòµÄ´¦Àí·½Ê½¡£ ´¦ÀíAjax¿çÓòÎÊÌâÖ÷ÒªÓÐÒÔÏÂ4ÖÖ·½Ê½£º ÀûÓÃiframe
ÀûÓÃJSONP
ÀûÓôúÀí
ÀûÓÃHTML5ÌṩµÄXMLHttpRequest Level2 µÚ1ºÍµÚ2ÖÖ·½Ê½´ó¼ÒÓ¦¸Ã¶¼·Ç³£ÊìϤ£¬¶¼ÊôÓÚǰ¶ËµÄ»î£¬ÕâÀï¾Í²»×ö½éÉÜÁË£¬ÕâÀïÖ÷Òª½éÉܵÚ3ºÍµÚ4ÖÖ·½Ê½¡£ ÀûÓôúÀíµÄ·½Ê½¿ÉÒÔÕâÑùÀí½â£º ͨ¹ýÔÚͬÓòÃûϵÄweb·þÎñÆ÷¶Ë´´½¨Ò»¸ö´úÀí£º ±±¾©·þÎñÆ÷(ÓòÃû:www.beijing.com) ÉϺ£·þÎñÆ÷(ÓòÃû£ºwww.shanghai.com) ±ÈÈçÔÚ±±¾©µÄweb·þÎñÆ÷µÄºǫ́(www.beijing.com/proxy-shanghaiservice.php)À´µ÷ÓÃÉϺ£·þÎñÆ÷(www.shanghai.com/services.php)µÄ·þÎñ£¬È»ºóÔÙ°Ñ·ÃÎʽá¹û·µ»Ø¸øÇ°¶Ë£¬ÕâÑùǰ¶Ëµ÷Óñ±¾©Í¬ÓòÃûµÄ·þÎñ¾ÍºÍµ÷ÓÃÉϺ£µÄ·þÎñЧ¹ûÏàͬÁË¡£ ÀûÓÃXMLHttpRequest Level2µÄ·½Ê½ÐèÒªºǫ́½«ÇëÇóÍ·½øÐÐÏàÓ¦ÅäÖ㺠// phpÓï·¨ header('Access-Control-Allow-Origin: *'); header('Access-Control-Allow-Methods: GET,POST'); ÒÔÉϵÄ*ºÅ¿ÉÒÔÌæ»»³ÉÔÊÐí·ÃÎʵÄÓòÃû£¬*±íʾËùÓÐÓòÃû¶¼¿ÉÒÔ·ÃÎÊ¡£ Óɴ˿ɼû£¬µÚ3ºÍµÚ4ÖÖ·½Ê½Ö÷ÒªÊǺǫ́µÄ»î£¬Ç°¶ËÖ»Ðèµ÷ÓþͿÉÒÔ¡£
×ܽá ÎÞÂÛAjaxµÄÓï·¨¶àô¶à±ä£¬ÎÞÂÛ¿âºÍ¿ò¼ÜÈçºÎ·â×°Ajax£¬ÆäÖ»ÊÇÒ»ÖÖʵÏÖÒì²½Êý¾Ý½»»¥µÄ¹¤¾ß£¬ÎÒÃÇÖ»ÐèÀí½âÔÉúJSÖÐAjaxµÄʵÏÖÔÀí£¬Á˽âXMLHttpRequest¼°promiseµÄ¸ÅÄîºÍÁ÷³Ì£¬±ã¿ÉÒÔÇáËɵÄÔÚÊý¾ÝÒì²½½»»¥µÄʱ´úÓÎÈÐÓÐÓà¡£ |