返回值:XMLHttpRequestjQuery.post(url, [data], [success(data, textStatus, XMLHttpRequest)], [dataType])

通过 HTTP POST 方式从服务器载入数据。

这是一个 Ajax 函数的简写形式。他等价于:

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

success 回调函数会传入返回的数据,根据响应的 MIME 类型的不同,他可能是一个 XML 根元素、文本字符串、JavaScript 文件或者 JSON 对象。同时还会传入描述响应状态的字符串。

从 jQuery 1.4 起,success 回调函数还会传入一个 XMLHttpRequest 对象。

大多数情况下都会指定一个请求成功后的回调函数:

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

这个例子会把请求到的 HTML 代码片段插入到页面中。

POST 方式获取的页面永远不会被缓存,所以通过 jQuery.ajaxSetup() 设置的 cacheifModified 选项在这些请求中无效。

示例:

请求 test.php 页面,但忽略返回的结果。

jQuery 代码:
$.post("test.php");

示例:

请求 test.php 页面,并传递一些附加的数据,但依然忽略返回的结果。

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

示例:

传递一个数据数组到服务器,继续忽略返回的结果。

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

示例:

通过 Ajax 请求发送表单数据。

jQuery 代码:
$.post("test.php", $("#testform").serialize());

示例:

弹出从 test.php 请求到的结果(HTML 或者 XML,根据返回的结果而不同)。

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

示例:

弹出从 test.cgi 请求到的数据,同时传递一些数据。

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

示例:

获取 test.php 页面的内容,并交给 process() 函数做进一步处理。

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

示例:

获取 test.php 页面的内容,其内容是 JSON 格式 (<?php echo json_encode(array("name"=>"John","time"=>"2pm")); ?>)

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