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() ¿ÉÒÔÔÚÇëÇóÍê³Éǰ¹ÒÆðÇëÇó¡£