AjaxÊÇÄ¿Ç°ºÜÆÕ±éµÄÒ»Ãż¼Êõ£¬Ò²ÊǺÜÖµµÃ̽ÌÖºÍÑо¿µÄÒ»Ãż¼Êõ¡£±¾ÎĽ«Õë¶ÔAjaxµÄ·¢Õ¹¹ý³Ì²¢½áºÏÆäÔÚ²»Í¬¿â" target="_blank">¿ò¼ÜÖеÄʹÓ÷½Ê½À´ºÍ´ó¼Ò·ÖÏíÏÂAjaxµÄÄÇЩÐÂÀÏÓï·¨¡£
¡¡Ajax¼ò½é
¡¡¡¡AjaxÈ«³ÆΪ¡°Asynchronous Javascript And XML¡±£¬ ¼´¡°Òì²½JavaScriptºÍXML¡±µÄÒâ˼¡£Í¨¹ýAjaxÎÒÃÇ¿ÉÒÔÏò·þÎñÆ÷·¢ËÍÇëÇó£¬ÔÚ²»×èÈûÒ³ÃæµÄÇé¿öϽøÐÐÊý¾Ý½»»¥£¬Ò²¿ÉÒÔÀí½âΪÒì²½Êý¾Ý´«Êä¡£ÔÚAjaxµÄ°ïÖúÏÂÎÒÃǵÄÍøÒ³Ö»Ðè¾Ö²¿Ë¢Ð¼´¿É¸üÐÂÊý¾ÝµÄÏÔʾ£¬¼õÉÙÁ˲»±ØÒªµÄÊý¾ÝÁ¿£¬´ó´óÌá¸ßÁËÓû§ÌåÑ飬Ëõ¶ÌÁËÓû§µÈ´ýµÄʱ¼ä£¬Ê¹µÃwebÓ¦ÓóÌÐò¸üС¡¢¸ü¿ì£¬¸üÓѺá£
¡¡¡¡µ±È»ÒÔÉ϶¼ÊÇ˾¿Õ¼û¹ßµÄÄÚÈÝÁË£¬×÷ΪһÃûºÏ¸ñµÄ¿ª·¢ÈËÔ±»ù±¾¶¼ÔÙÊìϤ²»¹ýÁË£¬ÕâÀïֻΪÄÇЩ¸ÕÈëÃŵÄÐÂÊÖ×öÒ»¸ö¼òµ¥µÄ½éÉÜ¡£¸ü¶àµÄ¹ØÓÚAjaxµÄ¼ò½éÇëÒƲ½PHPÖÐÎÄÍø½øÐÐÁ˽⣺
¡¡ÔÉúAjax¡¡¡¡»ù±¾ÉÏËùÓÐÏÖ´úµÄä¯ÀÀÆ÷¶¼Ö§³ÖÔÉúAjaxµÄ¹¦ÄÜ£¬ÏÂÃæ¾ÍÀ´Ïêϸ½éÉÜÏÂÀûÓÃÔÉúJSÎÒÃÇÔõÑùÀ´·¢ÆðºÍ´¦ÀíAjaxÇëÇó¡£
¡¡¡¡1.»ñÈ¡XMLHttpRequest¶ÔÏóvar xhr = new XMLHttpRequest(); // »ñÈ¡ä¯ÀÀÆ÷ÄÚÖõÄXMLHttpRequest¶ÔÏó¡¡¡¡Èç¹ûÄãµÄÏîÄ¿Ó¦Óò»¿¼ÂǵͰ汾IE£¬ÄÇô¿ÉÒÔÖ±½ÓÓÃÉÏÃæµÄ·½·¨£¬ËùÓÐÏÖ´úä¯ÀÀÆ÷ (Firefox¡¢Chrome¡¢Safari ÒÔ¼° Opera) ¶¼ÄÚ½¨ÁË XMLHttpRequest ¶ÔÏó¡£Èç¹ûÐèÒª¼æÈÝÀÏ°æ±¾IE£¨IE5¡¢IE6£©£¬ÄÇô¿ÉÒÔʹÓà ActiveX ¶ÔÏó£º
var xhr; if (window.XMLHttpRequest) { xhr=new XMLHttpRequest(); } else if (window.ActiveXObject) { // ¼æÈÝÀÏ°æ±¾ä¯ÀÀÆ÷ xhr=new ActiveXObject("Microsoft.XMLHTTP"); }¡¡¡¡2.²ÎÊýÅäÖá¡¡¡ÓÐÁËXMLHttpRequest¶ÔÏó£¬ÎÒÃÇ»¹ÐèÒªÅäÖÃһЩÇëÇóµÄ²ÎÊýÐÅÏ¢À´Íê³ÉÊý¾Ý½»»¥£¬ÀûÓÃopen·½·¨¼´¿É£º
var xhr; if (window.XMLHttpRequest) { xhr=new XMLHttpRequest(); } else if (window.ActiveXObject) { xhr=new ActiveXObject("Microsoft.XMLHTTP"); } if (xhr) { xhr.open('GET', '/test/', true); // ÒÔGETÇëÇóµÄ·½Ê½Ïò'/test/'·¾¶·¢ËÍÒì²½ÇëÇó }¡¡¡¡open·½·¨ÎªÎÒÃÇ´´½¨ÁËÒ»¸öеÄhttpÇëÇó£¬ÆäÖеÚÒ»¸ö²ÎÊýΪÇëÇó·½Ê½£¬Ò»°ãΪ'GET'»ò'POST'£»µÚ¶þ¸ö²ÎÊýΪÇëÇóurl£»µÚÈý¸ö²ÎÊýΪÊÇ·ñÒì²½£¬Ä¬ÈÏΪtrue¡£
¡¡¡¡3.·¢ËÍÇëÇó¡¡¡¡ÅäÖÃÍêÁË»ù±¾²ÎÊýÐÅÏ¢£¬ÎÒÃÇÖ±½Óµ÷ÓÃsend·½·¨·¢ËÍÇëÇ󣬴úÂëÈçÏ£º
var xhr; if (window.XMLHttpRequest) { xhr=new XMLHttpRequest(); } else if (window.ActiveXObject) { xhr=new ActiveXObject("Microsoft.XMLHTTP"); } if (xhr) { xhr.open('GET', '/test/', true); xhr.send(); // µ÷ÓÃsend·½·¨·¢ËÍÇëÇó }¡¡¡¡ÕâÀïÐèҪעÒâµÄÊÇÈç¹ûʹÓÃGET·½·¨´«µÝ²ÎÊý£¬ÎÒÃÇ¿ÉÒÔÖ±½Ó½«²ÎÊý·ÅÔÚurlºóÃ棬±ÈÈç'/test/?name=luozh&size=12';Èç¹ûʹÓÃPOST·½·¨£¬ÄÇôÎÒÃǵIJÎÊýÐèҪдÔÚsend·½·¨ÀÈ磺
xhr.open('POST', '/test/', true); xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded"); // ½«ÇëÇóÍ·ÉèÖÃΪ±íµ¥·½Ê½Ìá½» xhr.send('name=luozh&size=12');¡¡¡¡×îÖÕ»áÒÔForm DataµÄÐÎʽ´«µÝ£º
¡¡¡¡Èç¹û²»ÉèÖÃÇëÇóÍ·£¬ÔÉúAjax»áĬÈÏʹÓÃContent-TypeÊÇ'text/plain;charset=UTF-8'µÄ·½Ê½·¢ËÍÊý¾Ý,Èç¹û°´ÕÕÉÏÃæµÄ²ÎÊýÊéдÐÎʽ£¬ÎÒÃÇ×îÖÕ´«ÊäµÄÐÎʽÕâÑùµÄ£º
¡¡¡¡ÏÔÈ»Õâ²¢²»ÊÇ·þÎñÆ÷ÆÚÍûµÄÊý¾Ý¸ñʽ£¬ÎÒÃÇ¿ÉÒÔÕâÑùд£º
xhr.open('POST', '/test/', true); xhr.send(JSON.stringify({name: 'luozh', size: 12}));¡¡¡¡×îÖÕ´«ÊäµÄ¸ñʽÈçÏ£º
¡¡¡¡ÕâÑùÎÒÃÇ¿ÉÒÔÖ±½Ó´«µÝJSON×Ö·û´®¸øºǫ́´¦Àí£¬µ±È»ºǫ́ҲÐí½øÐÐÏàÓ¦ÅäÖá£
¡¡¡¡4.¼à²â״̬¡¡¡¡·¢ËÍÍêAjaxÇëÇóÖ®ºó£¬ÎÒÃÇÐèÒªÕë¶Ô·þÎñÆ÷·µ»ØµÄ״̬½øÐмà²â²¢½øÐÐÏàÓ¦µÄ´¦Àí£¬ÕâÀïÎÒÃÇÐèҪʹÓÃonreadystatechange·½·¨£¬´úÂëÈçÏ£º
var xhr; if (window.XMLHttpRequest) { xhr=new XMLHttpRequest(); } else if (window.ActiveXObject) { xhr=new ActiveXObject("Microsoft.XMLHTTP"); } if (xhr) { xhr.open('GET', '/test/', true); // ÒÔGETÇëÇóµÄ·½Ê½Ïò'/test/'·¾¶·¢ËÍÒì²½ÇëÇó xhr.send(); xhr.onreadystatechange = function () { // ÀûÓÃonreadystatechange¼à²â״̬ if (xhr.readyState === 4) { // readyStateΪ4±íʾÇëÇóÏìÓ¦Íê³É if (xhr.status === 200) { // statusΪ200±íʾÇëÇó³É¹¦ console.log('Ö´Ðгɹ¦'); } else { console.log('Ö´Ðгö´í'); } } } }¡¡¡¡ÉÏÃæÎÒÃÇÀûÓÃonreadystatechange¼à²â״̬£¬²¢ÔÚÄÚ²¿ÀûÓÃreadyState»ñÈ¡µ±Ç°µÄ״̬¡£readyStateÒ»¹²ÓÐ5¸ö½×¶Î£¬µ±ÆäΪ4ʱ±íʾÏìÓ¦ÄÚÈݽâÎöÍê³É£¬¿ÉÒÔÔÚ¿Í»§¶Ëµ÷ÓÃÁË¡£µ±readyStateΪ4ʱ£¬ÎÒÃÇÓÖͨ¹ýstatusÀ´»ñȡ״̬Â룬״̬ÂëΪ200ʱִÐгɹ¦´úÂ룬·ñÔòÖ´Ðгö´í´úÂë¡£
¡¡¡¡µ±È»ÎÒÃÇ¿ÉÒÔÓÃonloadÀ´´úÌæonreadystatechangeµÈÓÚ4µÄÇé¿ö£¬ÒòΪonloadÖ»ÔÚ״̬Ϊ4µÄʱºò²Å±»µ÷Ó㬴úÂëÈçÏ£º
xhr.onload = function () { // µ÷ÓÃonload if (xhr.status === 200) { // statusΪ200±íʾÇëÇó³É¹¦ console.log('Ö´Ðгɹ¦'); } else { console.log('Ö´Ðгö´í'); } }¡¡¡¡È»¶øÐèҪעÒâµÄÊÇ£¬IE¶ÔonloadÕâ¸öÊôÐÔµÄÖ§³Ö²¢²»ÓѺá£
¡¡¡¡³ýÁËonload»¹ÓÐ
¡¡¡¡µÈʼþ£¬ÓÐÐËȤµÄͬѧ¿ÉÒÔÇ××Ôȥʵ¼ùËüÃǵÄÓô¦¡£
¡¡¡¡ÒÔÉϱãÊÇÔÉúAjaxÇëÇóÊý¾ÝµÄ³£¼û´úÂë¡£
¡¡ÆäËû¿â¿ò¼ÜÖеÄAjax¡¡¡¡1.jQueryÖеÄAjax¡¡¡¡jQuery×÷Ϊһ¸öʹÓÃÈËÊý×î¶àµÄ¿â£¬ÆäAjaxºÜºÃµÄ·â×°ÁËÔÉúAjaxµÄ´úÂ룬ÔÚ¼æÈÝÐÔºÍÒ×ÓÃÐÔ·½Ã涼×öÁ˺ܴóµÄÌá¸ß£¬ÈÃAjaxµÄµ÷ÓñäµÃ·Ç³£¼òµ¥¡£ÏÂÃæ±ãÊÇÒ»¶Î¼òµ¥µÄjQueryµÄAjax´úÂ룺
$.ajax({ method: 'GET', // 1.9.0±¾°æÇ°ÓÃ'type' url: "/test/", dataType: 'json' }) .done(function() { console.log('Ö´Ðгɹ¦'); }) .fail(function() { console.log('Ö´Ðгö´í'); })¡¡¡¡ÓëÔÉúAjax²»Í¬µÄÊÇ£¬jQueryÖÐĬÈϵÄContent-typeÊÇ'application/x-www-form-urlencoded; charset=UTF-8', ÏëÁ˽â¸ü¶àµÄjQuery AjaxµÄÐÅÏ¢¿ÉÒÔÒƲ½¹Ù·½Îĵµ£º
¡¡¡¡2.Vue.jsÖеÄAjax
¡¡