jQuery ajax - ajax() ·½·¨

ʵÀý

ͨ¹ý AJAX ¼ÓÔØÒ»¶ÎÎı¾£º

jQuery ´úÂ룺

$(document).ready(function(){
  $("#b01").click(function(){
  htmlobj=$.ajax({url:"/jquery/test1.txt",async:false});
  $("#myDiv").html(htmlobj.responseText);
  });
});

HTML ´úÂ룺

<div id="myDiv"><h2>Let AJAX change this text</h2></div>
<button id="b01" type="button">Change Content</button>

Ç××ÔÊÔÒ»ÊÔ

¶¨ÒåºÍÓ÷¨

ajax() ·½·¨Í¨¹ý HTTP ÇëÇó¼ÓÔØÔ¶³ÌÊý¾Ý¡£

¸Ã·½·¨ÊÇ jQuery µ×²ã AJAX ʵÏÖ¡£¼òµ¥Ò×Óõĸ߲ãʵÏÖ¼û $.get, $.post µÈ¡£$.ajax() ·µ»ØÆä´´½¨µÄ XMLHttpRequest ¶ÔÏó¡£´ó¶àÊýÇé¿öÏÂÄãÎÞÐèÖ±½Ó²Ù×÷¸Ãº¯Êý£¬³ý·ÇÄãÐèÒª²Ù×÷²»³£ÓõÄÑ¡ÏÒÔ»ñµÃ¸ü¶àµÄÁé»îÐÔ¡£

×î¼òµ¥µÄÇé¿öÏ£¬$.ajax() ¿ÉÒÔ²»´øÈκβÎÊýÖ±½ÓʹÓá£

×¢Ò⣺ËùÓеÄÑ¡Ïî¶¼¿ÉÒÔͨ¹ý $.ajaxSetup() º¯ÊýÀ´È«¾ÖÉèÖá£

Óï·¨

jQuery.ajax([settings])
²ÎÊý ÃèÊö
settings

¿ÉÑ¡¡£ÓÃÓÚÅäÖà Ajax ÇëÇóµÄ¼üÖµ¶Ô¼¯ºÏ¡£

¿ÉÒÔͨ¹ý $.ajaxSetup() ÉèÖÃÈκÎÑ¡ÏîµÄĬÈÏÖµ¡£

²ÎÊý

options

ÀàÐÍ£ºObject

¿ÉÑ¡¡£AJAX ÇëÇóÉèÖá£ËùÓÐÑ¡Ïî¶¼ÊÇ¿ÉÑ¡µÄ¡£

async

ÀàÐÍ£ºBoolean

ĬÈÏÖµ: true¡£Ä¬ÈÏÉèÖÃÏ£¬ËùÓÐÇëÇó¾ùΪÒì²½ÇëÇó¡£Èç¹ûÐèÒª·¢ËÍͬ²½ÇëÇó£¬Ç뽫´ËÑ¡ÏîÉèÖÃΪ false¡£

×¢Ò⣬ͬ²½ÇëÇó½«Ëø×¡ä¯ÀÀÆ÷£¬Óû§ÆäËü²Ù×÷±ØÐëµÈ´ýÇëÇóÍê³É²Å¿ÉÒÔÖ´ÐС£

beforeSend(XHR)

ÀàÐÍ£ºFunction

·¢ËÍÇëÇóǰ¿ÉÐÞ¸Ä XMLHttpRequest ¶ÔÏóµÄº¯Êý£¬ÈçÌí¼Ó×Ô¶¨Òå HTTP Í·¡£

XMLHttpRequest ¶ÔÏóÊÇΨһµÄ²ÎÊý¡£

ÕâÊÇÒ»¸ö Ajax ʼþ¡£Èç¹û·µ»Ø false ¿ÉÒÔÈ¡Ïû±¾´Î ajax ÇëÇó¡£

cache

ÀàÐÍ£ºBoolean

ĬÈÏÖµ: true£¬dataType Ϊ script ºÍ jsonp ʱĬÈÏΪ false¡£ÉèÖÃΪ false ½«²»»º´æ´ËÒ³Ãæ¡£

jQuery 1.2 й¦ÄÜ¡£

complete(XHR, TS)

ÀàÐÍ£ºFunction

ÇëÇóÍê³Éºó»Øµ÷º¯Êý (ÇëÇó³É¹¦»òʧ°ÜÖ®ºó¾ùµ÷ÓÃ)¡£

²ÎÊý£º XMLHttpRequest ¶ÔÏóºÍÒ»¸öÃèÊöÇëÇóÀàÐ͵Ä×Ö·û´®¡£

ÕâÊÇÒ»¸ö Ajax ʼþ¡£

contentType

ÀàÐÍ£ºString

ĬÈÏÖµ: "application/x-www-form-urlencoded"¡£·¢ËÍÐÅÏ¢ÖÁ·þÎñÆ÷ʱÄÚÈݱàÂëÀàÐÍ¡£

ĬÈÏÖµÊʺϴó¶àÊýÇé¿ö¡£Èç¹ûÄãÃ÷È·µØ´«µÝÁËÒ»¸ö content-type ¸ø $.ajax() ÄÇôËü±Ø¶¨»á·¢Ë͸ø·þÎñÆ÷£¨¼´Ê¹Ã»ÓÐÊý¾ÝÒª·¢ËÍ£©¡£

context

ÀàÐÍ£ºObject

Õâ¸ö¶ÔÏóÓÃÓÚÉèÖà Ajax Ïà¹Ø»Øµ÷º¯ÊýµÄÉÏÏÂÎÄ¡£Ò²¾ÍÊÇ˵£¬Èûص÷º¯ÊýÄÚ this Ö¸ÏòÕâ¸ö¶ÔÏó£¨Èç¹û²»É趨Õâ¸ö²ÎÊý£¬ÄÇô this ¾ÍÖ¸Ïòµ÷Óñ¾´Î AJAX ÇëÇóʱ´«µÝµÄ options ²ÎÊý£©¡£±ÈÈçÖ¸¶¨Ò»¸ö DOM ÔªËØ×÷Ϊ context ²ÎÊý£¬ÕâÑù¾ÍÉèÖÃÁË success »Øµ÷º¯ÊýµÄÉÏÏÂÎÄΪÕâ¸ö DOM ÔªËØ¡£

¾ÍÏñÕâÑù£º

$.ajax({ url: "test.html", context: document.body, success: function(){
        $(this).addClass("done");
      }});
data

ÀàÐÍ£ºString

·¢Ë͵½·þÎñÆ÷µÄÊý¾Ý¡£½«×Ô¶¯×ª»»ÎªÇëÇó×Ö·û´®¸ñʽ¡£GET ÇëÇóÖн«¸½¼ÓÔÚ URL ºó¡£²é¿´ processData Ñ¡Ïî˵Ã÷ÒÔ½ûÖ¹´Ë×Ô¶¯×ª»»¡£±ØÐëΪ Key/Value ¸ñʽ¡£Èç¹ûΪÊý×飬jQuery ½«×Ô¶¯Îª²»Í¬Öµ¶ÔӦͬһ¸öÃû³Æ¡£Èç {foo:["bar1", "bar2"]} ת»»Îª '&foo=bar1&foo=bar2'¡£

dataFilter

ÀàÐÍ£ºFunction

¸ø Ajax ·µ»ØµÄԭʼÊý¾ÝµÄ½øÐÐÔ¤´¦ÀíµÄº¯Êý¡£Ìṩ data ºÍ type Á½¸ö²ÎÊý£ºdata ÊÇ Ajax ·µ»ØµÄԭʼÊý¾Ý£¬type Êǵ÷Óà jQuery.ajax ʱÌṩµÄ dataType ²ÎÊý¡£º¯Êý·µ»ØµÄÖµ½«ÓÉ jQuery ½øÒ»²½´¦Àí¡£

dataType

ÀàÐÍ£ºString

Ô¤ÆÚ·þÎñÆ÷·µ»ØµÄÊý¾ÝÀàÐÍ¡£Èç¹û²»Ö¸¶¨£¬jQuery ½«×Ô¶¯¸ù¾Ý HTTP °ü MIME ÐÅÏ¢À´ÖÇÄÜÅжϣ¬±ÈÈç XML MIME ÀàÐ;ͱ»Ê¶±ðΪ XML¡£ÔÚ 1.4 ÖУ¬JSON ¾Í»áÉú³ÉÒ»¸ö JavaScript ¶ÔÏ󣬶ø script Ôò»áÖ´ÐÐÕâ¸ö½Å±¾¡£Ëæºó·þÎñÆ÷¶Ë·µ»ØµÄÊý¾Ý»á¸ù¾ÝÕâ¸öÖµ½âÎöºó£¬´«µÝ¸ø»Øµ÷º¯Êý¡£¿ÉÓÃÖµ:

  • "xml": ·µ»Ø XML Îĵµ£¬¿ÉÓà jQuery ´¦Àí¡£
  • "html": ·µ»Ø´¿Îı¾ HTML ÐÅÏ¢£»°üº¬µÄ script ±êÇ©»áÔÚ²åÈë dom ʱִÐС£
  • "script": ·µ»Ø´¿Îı¾ JavaScript ´úÂë¡£²»»á×Ô¶¯»º´æ½á¹û¡£³ý·ÇÉèÖÃÁË "cache" ²ÎÊý¡£×¢Ò⣺ÔÚÔ¶³ÌÇëÇóʱ(²»ÔÚͬһ¸öÓòÏÂ)£¬ËùÓÐ POST ÇëÇó¶¼½«×ªÎª GET ÇëÇó¡££¨ÒòΪ½«Ê¹Óà DOM µÄ script±êÇ©À´¼ÓÔØ£©
  • "json": ·µ»Ø JSON Êý¾Ý ¡£
  • "jsonp": JSONP ¸ñʽ¡£Ê¹Óà JSONP ÐÎʽµ÷Óú¯Êýʱ£¬Èç "myurl?callback=?" jQuery ½«×Ô¶¯Ìæ»» ? ΪÕýÈ·µÄº¯ÊýÃû£¬ÒÔÖ´Ðлص÷º¯Êý¡£
  • "text": ·µ»Ø´¿Îı¾×Ö·û´®
error

ÀàÐÍ£ºFunction

ĬÈÏÖµ: ×Ô¶¯ÅÐ¶Ï (xml »ò html)¡£ÇëÇóʧ°Üʱµ÷Óô˺¯Êý¡£

ÓÐÒÔÏÂÈý¸ö²ÎÊý£ºXMLHttpRequest ¶ÔÏó¡¢´íÎóÐÅÏ¢¡¢£¨¿ÉÑ¡£©²¶»ñµÄÒì³£¶ÔÏó¡£

Èç¹û·¢ÉúÁË´íÎ󣬴íÎóÐÅÏ¢£¨µÚ¶þ¸ö²ÎÊý£©³ýÁ˵õ½ null Ö®Í⣬»¹¿ÉÄÜÊÇ "timeout", "error", "notmodified" ºÍ "parsererror"¡£

ÕâÊÇÒ»¸ö Ajax ʼþ¡£

global

ÀàÐÍ£ºBoolean

ÊÇ·ñ´¥·¢È«¾Ö AJAX ʼþ¡£Ä¬ÈÏÖµ: true¡£ÉèÖÃΪ false ½«²»»á´¥·¢È«¾Ö AJAX ʼþ£¬Èç ajaxStart »ò ajaxStop ¿ÉÓÃÓÚ¿ØÖƲ»Í¬µÄ Ajax ʼþ¡£

ifModified

ÀàÐÍ£ºBoolean

½öÔÚ·þÎñÆ÷Êý¾Ý¸Ä±äʱ»ñÈ¡ÐÂÊý¾Ý¡£Ä¬ÈÏÖµ: false¡£Ê¹Óà HTTP °ü Last-Modified Í·ÐÅÏ¢Åжϡ£ÔÚ jQuery 1.4 ÖУ¬ËüÒ²»á¼ì²é·þÎñÆ÷Ö¸¶¨µÄ 'etag' À´È·¶¨Êý¾ÝûÓб»Ð޸Ĺý¡£

jsonp

ÀàÐÍ£ºString

ÔÚÒ»¸ö jsonp ÇëÇóÖÐÖØÐ´»Øµ÷º¯ÊýµÄÃû×Ö¡£Õâ¸öÖµÓÃÀ´Ìæ´úÔÚ "callback=?" ÕâÖÖ GET »ò POST ÇëÇóÖÐ URL ²ÎÊýÀïµÄ "callback" ²¿·Ö£¬±ÈÈç {jsonp:'onJsonPLoad'} »áµ¼Ö½« "onJsonPLoad=?" ´«¸ø·þÎñÆ÷¡£

jsonpCallback

ÀàÐÍ£ºString

Ϊ jsonp ÇëÇóÖ¸¶¨Ò»¸ö»Øµ÷º¯ÊýÃû¡£Õâ¸öÖµ½«ÓÃÀ´È¡´ú jQuery ×Ô¶¯Éú³ÉµÄËæ»úº¯ÊýÃû¡£ÕâÖ÷ÒªÓÃÀ´Èà jQuery Éú³É¶È¶ÀÌØµÄº¯ÊýÃû£¬ÕâÑù¹ÜÀíÇëÇó¸üÈÝÒ×£¬Ò²ÄÜ·½±ãµØÌṩ»Øµ÷º¯ÊýºÍ´íÎó´¦Àí¡£ÄãÒ²¿ÉÒÔÔÚÏëÈÃä¯ÀÀÆ÷»º´æ GET ÇëÇóµÄʱºò£¬Ö¸¶¨Õâ¸ö»Øµ÷º¯ÊýÃû¡£

password

ÀàÐÍ£ºString

ÓÃÓÚÏìÓ¦ HTTP ·ÃÎÊÈÏÖ¤ÇëÇóµÄÃÜÂë

processData

ÀàÐÍ£ºBoolean

ĬÈÏÖµ: true¡£Ä¬ÈÏÇé¿öÏ£¬Í¨¹ýdataÑ¡Ïî´«µÝ½øÀ´µÄÊý¾Ý£¬Èç¹ûÊÇÒ»¸ö¶ÔÏó(¼¼ÊõÉϽ²Ö»Òª²»ÊÇ×Ö·û´®)£¬¶¼»á´¦Àíת»¯³ÉÒ»¸ö²éѯ×Ö·û´®£¬ÒÔÅäºÏĬÈÏÄÚÈÝÀàÐÍ "application/x-www-form-urlencoded"¡£Èç¹ûÒª·¢ËÍ DOM Ê÷ÐÅÏ¢»òÆäËü²»Ï£Íûת»»µÄÐÅÏ¢£¬ÇëÉèÖÃΪ false¡£

scriptCharset

ÀàÐÍ£ºString

Ö»Óе±ÇëÇóʱ dataType Ϊ "jsonp" »ò "script"£¬²¢ÇÒ type ÊÇ "GET" ²Å»áÓÃÓÚÇ¿ÖÆÐÞ¸Ä charset¡£Í¨³£Ö»ÔÚ±¾µØºÍÔ¶³ÌµÄÄÚÈݱàÂ벻ͬʱʹÓá£

success

ÀàÐÍ£ºFunction

ÇëÇó³É¹¦ºóµÄ»Øµ÷º¯Êý¡£

²ÎÊý£ºÓÉ·þÎñÆ÷·µ»Ø£¬²¢¸ù¾Ý dataType ²ÎÊý½øÐд¦ÀíºóµÄÊý¾Ý£»ÃèÊö״̬µÄ×Ö·û´®¡£

ÕâÊÇÒ»¸ö Ajax ʼþ¡£

traditional

ÀàÐÍ£ºBoolean

Èç¹ûÄãÏëÒªÓô«Í³µÄ·½Ê½À´ÐòÁл¯Êý¾Ý£¬ÄÇô¾ÍÉèÖÃΪ true¡£Çë²Î¿¼¹¤¾ß·ÖÀàÏÂÃæµÄ jQuery.param ·½·¨¡£

timeout

ÀàÐÍ£ºNumber

ÉèÖÃÇëÇó³¬Ê±Ê±¼ä£¨ºÁÃ룩¡£´ËÉèÖý«¸²¸ÇÈ«¾ÖÉèÖá£

type

ÀàÐÍ£ºString

ĬÈÏÖµ: "GET")¡£ÇëÇó·½Ê½ ("POST" »ò "GET")£¬ ĬÈÏΪ "GET"¡£×¢Ò⣺ÆäËü HTTP ÇëÇó·½·¨£¬Èç PUT ºÍ DELETE Ò²¿ÉÒÔʹÓ㬵«½ö²¿·Öä¯ÀÀÆ÷Ö§³Ö¡£

url

ÀàÐÍ£ºString

ĬÈÏÖµ: µ±Ç°Ò³µØÖ·¡£·¢ËÍÇëÇóµÄµØÖ·¡£

username

ÀàÐÍ£ºString

ÓÃÓÚÏìÓ¦ HTTP ·ÃÎÊÈÏÖ¤ÇëÇóµÄÓû§Ãû¡£

xhr

ÀàÐÍ£ºFunction

ÐèÒª·µ»ØÒ»¸ö XMLHttpRequest ¶ÔÏó¡£Ä¬ÈÏÔÚ IE ÏÂÊÇ ActiveXObject ¶øÆäËûÇé¿öÏÂÊÇ XMLHttpRequest ¡£ÓÃÓÚÖØÐ´»òÕßÌṩһ¸öÔöÇ¿µÄ XMLHttpRequest ¶ÔÏó¡£Õâ¸ö²ÎÊýÔÚ jQuery 1.3 ÒÔǰ²»¿ÉÓá£

»Øµ÷º¯Êý

Èç¹ûÒª´¦Àí $.ajax() µÃµ½µÄÊý¾Ý£¬ÔòÐèҪʹÓûص÷º¯Êý£ºbeforeSend¡¢error¡¢dataFilter¡¢success¡¢complete¡£

beforeSend

ÔÚ·¢ËÍÇëÇó֮ǰµ÷Ó㬲¢ÇÒ´«ÈëÒ»¸ö XMLHttpRequest ×÷Ϊ²ÎÊý¡£

error

ÔÚÇëÇó³ö´íʱµ÷Óᣴ«Èë XMLHttpRequest ¶ÔÏó£¬ÃèÊö´íÎóÀàÐ͵Ä×Ö·û´®ÒÔ¼°Ò»¸öÒì³£¶ÔÏó£¨Èç¹ûÓеϰ£©

dataFilter

ÔÚÇëÇó³É¹¦Ö®ºóµ÷Óᣴ«Èë·µ»ØµÄÊý¾ÝÒÔ¼° "dataType" ²ÎÊýµÄÖµ¡£²¢ÇÒ±ØÐë·µ»ØÐµÄÊý¾Ý£¨¿ÉÄÜÊÇ´¦Àí¹ýµÄ£©´«µÝ¸ø success »Øµ÷º¯Êý¡£

success

µ±ÇëÇóÖ®ºóµ÷Óᣴ«Èë·µ»ØºóµÄÊý¾Ý£¬ÒÔ¼°°üº¬³É¹¦´úÂëµÄ×Ö·û´®¡£

complete

µ±ÇëÇóÍê³ÉÖ®ºóµ÷ÓÃÕâ¸öº¯Êý£¬ÎÞÂ۳ɹ¦»òʧ°Ü¡£´«Èë XMLHttpRequest ¶ÔÏó£¬ÒÔ¼°Ò»¸ö°üº¬³É¹¦»ò´íÎó´úÂëµÄ×Ö·û´®¡£

Êý¾ÝÀàÐÍ

$.ajax() º¯ÊýÒÀÀµ·þÎñÆ÷ÌṩµÄÐÅÏ¢À´´¦Àí·µ»ØµÄÊý¾Ý¡£Èç¹û·þÎñÆ÷±¨¸æËµ·µ»ØµÄÊý¾ÝÊÇ XML£¬ÄÇô·µ»ØµÄ½á¹û¾Í¿ÉÒÔÓÃÆÕͨµÄ XML ·½·¨»òÕß jQuery µÄÑ¡ÔñÆ÷À´±éÀú¡£Èç¹û¼ûµÃµ½ÆäËûÀàÐÍ£¬±ÈÈç HTML£¬ÔòÊý¾Ý¾ÍÒÔÎı¾ÐÎʽÀ´¶Ô´ý¡£

ͨ¹ý dataType Ñ¡Ï¿ÉÒÔÖ¸¶¨ÆäËû²»Í¬Êý¾Ý´¦Àí·½Ê½¡£³ýÁ˵¥´¿µÄ XML£¬»¹¿ÉÒÔÖ¸¶¨ html¡¢json¡¢jsonp¡¢script »òÕß text¡£

ÆäÖУ¬text ºÍ xml ÀàÐÍ·µ»ØµÄÊý¾Ý²»»á¾­¹ý´¦Àí¡£Êý¾Ý½ö½ö¼òµ¥µÄ½« XMLHttpRequest µÄ responseText »ò responseHTML ÊôÐÔ´«µÝ¸ø success »Øµ÷º¯Êý¡£

×¢Ò⣺ÎÒÃDZØÐëÈ·±£ÍøÒ³·þÎñÆ÷±¨¸æµÄ MIME ÀàÐÍÓëÎÒÃÇÑ¡ÔñµÄ dataType ËùÆ¥Åä¡£±ÈÈç˵£¬XMLµÄ»°£¬·þÎñÆ÷¶Ë¾Í±ØÐëÉùÃ÷ text/xml »òÕß application/xml À´»ñµÃÒ»ÖµĽá¹û¡£

Èç¹ûÖ¸¶¨Îª html ÀàÐÍ£¬ÈκÎÄÚǶµÄ JavaScript ¶¼»áÔÚ HTML ×÷Ϊһ¸ö×Ö·û´®·µ»ØÖ®Ç°Ö´ÐС£ÀàËÆµØ£¬Ö¸¶¨ script ÀàÐ͵ϰ£¬Ò²»áÏÈÖ´ÐзþÎñÆ÷¶ËÉú³É JavaScript£¬È»ºóÔٰѽű¾×÷Ϊһ¸öÎı¾Êý¾Ý·µ»Ø¡£

Èç¹ûÖ¸¶¨Îª json ÀàÐÍ£¬Ôò»á°Ñ»ñÈ¡µ½µÄÊý¾Ý×÷Ϊһ¸ö JavaScript ¶ÔÏóÀ´½âÎö£¬²¢ÇҰѹ¹½¨ºÃµÄ¶ÔÏó×÷Ϊ½á¹û·µ»Ø¡£ÎªÁËʵÏÖÕâ¸öÄ¿µÄ£¬ËüÊ×Ïȳ¢ÊÔʹÓà JSON.parse()¡£Èç¹ûä¯ÀÀÆ÷²»Ö§³Ö£¬ÔòʹÓÃÒ»¸öº¯ÊýÀ´¹¹½¨¡£

JSON Êý¾ÝÊÇÒ»ÖÖÄܷܺ½±ãͨ¹ý JavaScript ½âÎöµÄ½á¹¹»¯Êý¾Ý¡£Èç¹û»ñÈ¡µÄÊý¾ÝÎļþ´æ·ÅÔÚÔ¶³Ì·þÎñÆ÷ÉÏ£¨ÓòÃû²»Í¬£¬Ò²¾ÍÊÇ¿çÓò»ñÈ¡Êý¾Ý£©£¬ÔòÐèҪʹÓà jsonp ÀàÐÍ¡£Ê¹ÓÃÕâÖÖÀàÐ͵ϰ£¬»á´´½¨Ò»¸ö²éѯ×Ö·û´®²ÎÊý callback=? £¬Õâ¸ö²ÎÊý»á¼ÓÔÚÇëÇóµÄ URL ºóÃæ¡£·þÎñÆ÷¶ËÓ¦µ±ÔÚ JSON Êý¾Ýǰ¼ÓÉϻص÷º¯ÊýÃû£¬ÒÔ±ãÍê³ÉÒ»¸öÓÐЧµÄ JSONP ÇëÇó¡£Èç¹ûÒªÖ¸¶¨»Øµ÷º¯ÊýµÄ²ÎÊýÃûÀ´È¡´úĬÈ쵀 callback£¬¿ÉÒÔͨ¹ýÉèÖà $.ajax() µÄ jsonp ²ÎÊý¡£

×¢Ò⣺JSONP ÊÇ JSON ¸ñʽµÄÀ©Õ¹¡£ËüÒªÇóһЩ·þÎñÆ÷¶ËµÄ´úÂëÀ´¼ì²â²¢´¦Àí²éѯ×Ö·û´®²ÎÊý¡£

Èç¹ûÖ¸¶¨ÁË script »òÕß jsonp ÀàÐÍ£¬ÄÇôµ±´Ó·þÎñÆ÷½ÓÊÕµ½Êý¾Ýʱ£¬Êµ¼ÊÉÏÊÇÓÃÁË <script> ±êÇ©¶ø²»ÊÇ XMLHttpRequest ¶ÔÏó¡£ÕâÖÖÇé¿öÏ£¬$.ajax() ²»ÔÙ·µ»ØÒ»¸ö XMLHttpRequest ¶ÔÏ󣬲¢ÇÒÒ²²»»á´«µÝʼþ´¦Àíº¯Êý£¬±ÈÈç beforeSend¡£

·¢ËÍÊý¾Ýµ½·þÎñÆ÷

ĬÈÏÇé¿öÏ£¬Ajax ÇëÇóʹÓà GET ·½·¨¡£Èç¹ûҪʹÓà POST ·½·¨£¬¿ÉÒÔÉ趨 type ²ÎÊýÖµ¡£Õâ¸öÑ¡ÏîÒ²»áÓ°Ïì data Ñ¡ÏîÖеÄÄÚÈÝÈçºÎ·¢Ë͵½·þÎñÆ÷¡£

data Ñ¡Ïî¼È¿ÉÒÔ°üº¬Ò»¸ö²éѯ×Ö·û´®£¬±ÈÈç key1=value1&key2=value2 £¬Ò²¿ÉÒÔÊÇÒ»¸öÓ³É䣬±ÈÈç {key1: 'value1', key2: 'value2'} ¡£Èç¹ûʹÓÃÁ˺óÕßµÄÐÎʽ£¬ÔòÊý¾ÝÔÙ·¢ËÍÆ÷»á±»×ª»»³É²éѯ×Ö·û´®¡£Õâ¸ö´¦Àí¹ý³ÌÒ²¿ÉÒÔͨ¹ýÉèÖà processData Ñ¡ÏîΪ false À´»Ø±Ü¡£Èç¹ûÎÒÃÇÏ£Íû·¢ËÍÒ»¸ö XML ¶ÔÏó¸ø·þÎñÆ÷ʱ£¬ÕâÖÖ´¦Àí¿ÉÄܲ¢²»ºÏÊÊ¡£²¢ÇÒÔÚÕâÖÖÇé¿öÏ£¬ÎÒÃÇÒ²Ó¦µ±¸Ä±ä contentType Ñ¡ÏîµÄÖµ£¬ÓÃÆäËûºÏÊ浀 MIME ÀàÐÍÀ´È¡´úĬÈ쵀 application/x-www-form-urlencoded ¡£

¸ß¼¶Ñ¡Ïî

global Ñ¡ÏîÓÃÓÚ×èÖ¹ÏìӦע²áµÄ»Øµ÷º¯Êý£¬±ÈÈç .ajaxSend£¬»òÕß ajaxError£¬ÒÔ¼°ÀàËÆµÄ·½·¨¡£ÕâÔÚÓÐЩʱºòºÜÓÐÓ㬱ÈÈç·¢Ë͵ÄÇëÇó·Ç³£Æµ·±ÇÒ¼ò¶ÌµÄʱºò£¬¾Í¿ÉÒÔÔÚ ajaxSend Àï½ûÓÃÕâ¸ö¡£

Èç¹û·þÎñÆ÷ÐèÒª HTTP ÈÏÖ¤£¬¿ÉÒÔʹÓÃÓû§ÃûºÍÃÜÂë¿ÉÒÔͨ¹ý username ºÍ password Ñ¡ÏîÀ´ÉèÖá£

Ajax ÇëÇóÊÇÏÞʱµÄ£¬ËùÒÔ´íÎ󾯸汻²¶»ñ²¢´¦Àíºó£¬¿ÉÒÔÓÃÀ´ÌáÉýÓû§ÌåÑé¡£ÇëÇó³¬Ê±Õâ¸ö²ÎÊýͨ³£¾Í±£ÁôÆäĬÈÏÖµ£¬Òª²»¾Íͨ¹ý jQuery.ajaxSetup À´È«¾ÖÉ趨£¬ºÜÉÙÎªÌØ¶¨µÄÇëÇóÖØÐÂÉèÖà timeout Ñ¡Ïî¡£

ĬÈÏÇé¿öÏ£¬ÇëÇó×ܻᱻ·¢³öÈ¥£¬µ«ä¯ÀÀÆ÷ÓпÉÄÜ´ÓËüµÄ»º´æÖе÷È¡Êý¾Ý¡£Òª½ûֹʹÓûº´æµÄ½á¹û£¬¿ÉÒÔÉèÖà cache ²ÎÊýΪ false¡£Èç¹ûÏ£ÍûÅжÏÊý¾Ý×Ô´ÓÉÏ´ÎÇëÇóºóûÓиü¸Ä¹ý¾Í±¨¸æ³ö´íµÄ»°£¬¿ÉÒÔÉèÖà ifModified Ϊ true¡£

scriptCharset ÔÊÐí¸ø <script> ±êÇ©µÄÇëÇóÉ趨һ¸öÌØ¶¨µÄ×Ö·û¼¯£¬ÓÃÓÚ script »òÕß jsonp ÀàËÆµÄÊý¾Ý¡£µ±½Å±¾ºÍÒ³Ãæ×Ö·û¼¯²»Í¬Ê±£¬ÕâÌØ±ðºÃÓá£

Ajax µÄµÚÒ»¸ö×ÖĸÊÇ asynchronous µÄ¿ªÍ·×Öĸ£¬ÕâÒâζ×ÅËùÓеIJÙ×÷¶¼ÊDz¢Ðеģ¬Íê³ÉµÄ˳ÐòûÓÐǰºó¹ØÏµ¡£$.ajax() µÄ async ²ÎÊý×ÜÊÇÉèÖóÉtrue£¬Õâ±êÖ¾×ÅÔÚÇëÇó¿ªÊ¼ºó£¬ÆäËû´úÂëÒÀÈ»Äܹ»Ö´ÐС£Ç¿ÁÒ²»½¨Òé°ÑÕâ¸öÑ¡ÏîÉèÖÃ³É false£¬ÕâÒâζ×ÅËùÓеÄÇëÇó¶¼²»ÔÙÊÇÒì²½µÄÁË£¬ÕâÒ²»áµ¼ÖÂä¯ÀÀÆ÷±»ËøËÀ¡£

$.ajax º¯Êý·µ»ØËü´´½¨µÄ XMLHttpRequest ¶ÔÏó¡£Í¨³£ jQuery Ö»ÔÚÄÚ²¿´¦Àí²¢´´½¨Õâ¸ö¶ÔÏ󣬵«Óû§Ò²¿ÉÒÔͨ¹ý xhr Ñ¡ÏîÀ´´«µÝÒ»¸ö×Ô¼º´´½¨µÄ xhr ¶ÔÏó¡£·µ»ØµÄ¶ÔÏóͨ³£ÒѾ­±»¶ªÆúÁË£¬µ«ÒÀÈ»Ìṩһ¸öµ×²ã½Ó¿ÚÀ´¹Û²ìºÍ²Ù¿ØÇëÇó¡£±ÈÈç˵£¬µ÷ÓöÔÏóÉ쵀 .abort() ¿ÉÒÔÔÚÇëÇóÍê³Éǰ¹ÒÆðÇëÇó¡£

VUE