jQuery ajax - post() ·½·¨

ʵÀý

ÇëÇó test.php ÍøÒ³£¬ºöÂÔ·µ»ØÖµ£º

$.post("test.php");

TIY ʵÀý

ͨ¹ý AJAX POST ÇëÇó¸Ä±ä div ÔªËØµÄÎı¾£º

$("input").keyup(function(){
  txt=$("input").val();
  $.post("demo_ajax_gethint.asp",{suggest:txt},function(result){
    $("span").html(result);
  });
});

Ç××ÔÊÔÒ»ÊÔ

¶¨ÒåºÍÓ÷¨

post() ·½·¨Í¨¹ý HTTP POST ÇëÇó´Ó·þÎñÆ÷ÔØÈëÊý¾Ý¡£

Óï·¨

jQuery.post(url,data,success(data, textStatus, jqXHR),dataType)
²ÎÊý ÃèÊö
url ±ØÐè¡£¹æ¶¨°ÑÇëÇó·¢Ë͵½Äĸö URL¡£
data ¿ÉÑ¡¡£Ó³Éä»ò×Ö·û´®Öµ¡£¹æ¶¨Á¬Í¬ÇëÇó·¢Ë͵½·þÎñÆ÷µÄÊý¾Ý¡£
success(data, textStatus, jqXHR) ¿ÉÑ¡¡£ÇëÇó³É¹¦Ê±Ö´ÐеĻص÷º¯Êý¡£
dataType

¿ÉÑ¡¡£¹æ¶¨Ô¤ÆÚµÄ·þÎñÆ÷ÏìÓ¦µÄÊý¾ÝÀàÐÍ¡£

ĬÈÏÖ´ÐÐÖÇÄÜÅжϣ¨xml¡¢json¡¢script »ò html£©¡£

Ïêϸ˵Ã÷

¸Ãº¯ÊýÊǼòдµÄ Ajax º¯Êý£¬µÈ¼ÛÓÚ£º

$.ajax({
  type: 'POST',
  url: url,
  data: data,
  success: success,
  dataType: dataType
});

¸ù¾ÝÏìÓ¦µÄ²»Í¬µÄ MIME ÀàÐÍ£¬´«µÝ¸ø success »Øµ÷º¯ÊýµÄ·µ»ØÊý¾ÝÒ²ÓÐËù²»Í¬£¬ÕâЩÊý¾Ý¿ÉÒÔÊÇ XML ¸ùÔªËØ¡¢Îı¾×Ö·û´®¡¢JavaScript Îļþ»òÕß JSON ¶ÔÏó¡£Ò²¿ÉÏò success »Øµ÷º¯Êý´«µÝÏìÓ¦µÄÎı¾×´Ì¬¡£

¶ÔÓÚ jQuery 1.5£¬Ò²¿ÉÒÔÏò success »Øµ÷º¯Êý´«µÝ jqXHR ¶ÔÏó£¨jQuery 1.4 Öд«µÝµÄÊÇ XMLHttpRequest ¶ÔÏ󣩡£

´ó²¿·ÖʵÏÖ»á¹æ¶¨Ò»¸ö success º¯Êý£º

$.post("ajax/test.html", function(data) {
  $(".result").html(data);
});

±¾Àý¶ÁÈ¡±»ÇëÇóµÄ HTML Ƭ¶Î£¬²¢²åÈëÒ³ÃæÖС£

ͨ¹ý POST ¶ÁÈ¡µÄÒ³Ãæ²»±»»º´æ£¬Òò´Ë jQuery.ajaxSetup() ÖÐµÄ cache ºÍ ifModified Ñ¡Ïî²»»áÓ°ÏìÕâЩÇëÇó¡£

×¢ÊÍ£ºÓÉÓÚä¯ÀÀÆ÷°²È«·½ÃæµÄÏÞÖÆ£¬´ó¶àÊý "Ajax" ÇëÇó×ñÊØÍ¬Ô´²ßÂÔ£»ÇëÇóÎÞ·¨´Ó²»Í¬µÄÓò¡¢×ÓÓò»òЭÒé³É¹¦µØÈ¡»ØÊý¾Ý¡£

×¢ÊÍ£ºÈç¹ûÓÉ jQuery.post() ·¢ÆðµÄÇëÇ󷵻شíÎó´úÂ룬ÄÇô²»»áÓÐÈκÎÌáʾ£¬³ý·Ç½Å±¾Òѵ÷ÓÃÁËÈ«¾ÖµÄ .ajaxError() ·½·¨¡£»òÕß¶ÔÓÚ jQuery 1.5£¬jQuery.post() ·µ»ØµÄ jqXHR ¶ÔÏóµÄ .error() ·½·¨Ò²¿ÉÒÔÓÃÓÚ´íÎó´¦Àí¡£

jqXHR ¶ÔÏó

¶ÔÓÚ jQuery 1.5£¬ËùÓÐ jQuery µÄ AJAX ·½·¨·µ»ØµÄÊÇ XMLHTTPRequest ¶ÔÏóµÄ³¬¼¯¡£ÓÉ $.post() ·µ»ØµÄ jQuery XHR ¶ÔÏó»ò "jqXHR,"ʵÏÖÁËÔ¼¶¨µÄ½Ó¿Ú£¬¸³ÓèÆäËùÓеÄÊôÐÔ¡¢·½·¨£¬ÒÔ¼°Ô¼¶¨µÄÐÐΪ¡£³öÓÚ¶ÔÓÉ $.ajax() ʹÓõĻص÷º¯ÊýÃû³Æ±ãÀûÐÔºÍÒ»ÖÂÐԵĿ¼ÂÇ£¬ËüÌṩÁË .error(), .success() ÒÔ¼° .complete() ·½·¨¡£ÕâЩ·½·¨Ê¹ÓÃÇëÇóÖÕֹʱµ÷Óõĺ¯Êý²ÎÊý£¬¸Ãº¯Êý½ÓÊÜÓë¶ÔÓ¦ÃüÃûµÄ $.ajax() »Øµ÷º¯ÊýÏàͬµÄ²ÎÊý¡£

jQuery 1.5 ÖеÄÔ¼¶¨½Ó¿ÚͬÑùÔÊÐí jQuery µÄ Ajax ·½·¨£¬°üÀ¨ $.post()£¬À´Á´½ÓͬһÇëÇóµÄ¶à¸ö .success()¡¢.complete() ÒÔ¼° .error() »Øµ÷º¯Êý£¬ÉõÖÁ»áÔÚÇëÇóÒ²ÐíÒѾ­Íê³Éºó·ÖÅäÕâЩ»Øµ÷º¯Êý¡£

// ÇëÇóÉú³ÉºóÁ¢¼´·ÖÅä´¦Àí³ÌÐò£¬Çë¼Çס¸ÃÇëÇóÕë¶Ô jqxhr ¶ÔÏó
    var jqxhr = $.post("example.php", function() {
      alert("success");
    })
    .success(function() { alert("second success"); })
    .error(function() { alert("error"); })
    .complete(function() { alert("complete"); });

    // ÔÚÕâÀïÖ´ÐÐÆäËûÈÎÎñ
	
    // ΪÉÏÃæµÄÇëÇóÉèÖÃÁíÒ»¸öÍê³Éº¯Êý
    jqxhr.complete(function(){ alert("second complete"); });

¸ü¶àʵÀý

Àý×Ó 1

ÇëÇó test.php Ò³Ãæ£¬²¢Ò»Æð·¢ËÍһЩ¶îÍâµÄÊý¾Ý£¨Í¬Ê±ÈÔÈ»ºöÂÔ·µ»ØÖµ£©£º

$.post("test.php", { name: "John", time: "2pm" } );

Àý×Ó 2

Ïò·þÎñÆ÷´«µÝÊý¾ÝÊý×飨ͬʱÈÔÈ»ºöÂÔ·µ»ØÖµ£©£º

$.post("test.php", { 'choices[]': ["Jon", "Susan"] });

Àý×Ó 3

ʹÓà ajax ÇëÇó·¢ËÍ±íµ¥Êý¾Ý£º

$.post("test.php", $("#testform").serialize());

Àý×Ó 4

Êä³öÀ´×ÔÇëÇóÒ³Ãæ test.php µÄ½á¹û£¨HTML »ò XML£¬È¡¾öÓÚËù·µ»ØµÄÄÚÈÝ£©£º

$.post("test.php", function(data){
   alert("Data Loaded: " + data);
 });

Àý×Ó 5

ÏòÒ³Ãæ test.php ·¢ËÍÊý¾Ý£¬²¢Êä³ö½á¹û£¨HTML »ò XML£¬È¡¾öÓÚËù·µ»ØµÄÄÚÈÝ£©£º

$.post("test.php", { name: "John", time: "2pm" },
   function(data){
     alert("Data Loaded: " + data);
   });

Àý×Ó 6

»ñµÃ test.php Ò³ÃæµÄÄÚÈÝ£¬²¢´æ´¢Îª XMLHttpResponse ¶ÔÏ󣬲¢Í¨¹ý process() Õâ¸ö JavaScript º¯Êý½øÐд¦Àí£º

$.post("test.php", { name: "John", time: "2pm" },
   function(data){
     process(data);
   }, "xml");

Àý×Ó 7

»ñµÃ test.php Ò³Ãæ·µ»ØµÄ json ¸ñʽµÄÄÚÈÝ£º

$.post("test.php", { "func": "getNameAndTime" },
   function(data){
     alert(data.name); // John
     console.log(data.time); //  2pm
   }, "json");
VUE