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");