jquery 手册
Ajax
属性(Attributes)
回调对象(Callbacks ..
核心(Core)
CSS
数据(Data)
延迟对象(Deferred o ..
尺寸(Dimensions)
效果(Effects)
事件(Events)
表单(Forms)
文档操作(Manipulati ..
杂项(Miscellaneou ..
位置(Offset)
插件编写(Plugin Aut ..
属性(Properties)
选择器(Selectors)
遍历(Traversing)
工具(Utilities)

Returns: jqXHRjqXHR jQuery.post( String url, Map | String data, Function success(data, textStatus, jqXHR), String dataType )

描述:使用 HTTP POST方式从服务端加载数据。
  • version added: 1.0
  • jQuery.post( String url, Map | String data, Function success(data, textStatus, jqXHR), String dataType )
  • url 一个字符串,包含请求将被发送到的URL。
    data json数据对象或字符串,用于同请求一起发送到服务端。
    success(data, textStatus, jqXHR) 一个回调函数,当请求成功后执行的函数。
    dataType 从服务器返回的预期的数据类型。默认:智能猜测(xml, json, script, or html)。

这是一个简写的Ajax函数,等同于:

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

大部分情况下需要一个成功后的处理程序:

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

这个例子获取HTML片段并插入到页面.

// Assign handlers immediately after making the request,
    // and remember the jqxhr object for this request
    var jqxhr = $.post("example.php", function() {
      alert("success");
    })
    .success(function() { alert("second success"); })
    .error(function() { alert("error"); })
    .complete(function() { alert("complete"); });

    // perform other work here ...

    // Set another completion function for the request above
    jqxhr.complete(function(){ alert("second complete"); });

Examples:

例子:

请求test.php页面,忽略返回结果.
$.post("test.php");

例子:

请求test.php页面并发送一些额外的数据.
$.post("test.php", { name: "John", time: "2pm" } );

例子:

传递数组数据到服务端(仍然忽略返回结果).
$.post("test.php", { 'choices[]': ["Jon", "Susan"] });

例子:

用ajax请求传递form数据
$.post("test.php", $("#testform").serialize());

例子:

弹出请求test.php后的结果。 (HTML 或 XML, 取决于返回的结果).
$.post("test.php", function(data) {
   alert("Data Loaded: " + data);
 });

例子:

弹出附加数据请求test.php 后的结果。 (HTML 或 XML, 取决于返回的结果).
$.post("test.php", { name: "John", time: "2pm" },
   function(data) {
     alert("Data Loaded: " + data);
   });

例子:

获取test.php 页面内容,将内容存储到XMLHttpResponse对象并用process() JavaScript函数处理数据.
$.post("test.php", { name: "John", time: "2pm" },
 function(data) {
   process(data);
 }, 
 "xml"
);

例子:

Post数据到 test.php 页面并获取json格式的内容 (<?php echo json_encode(array("name"=>"John","time"=>"2pm")); ?>).
$.post("test.php", { "func": "getNameAndTime" },
 function(data){
   console.log(data.name); // John
   console.log(data.time); //  2pm
 }, "json");

例子:

使用ajax方法Post表单并将返回结果放入一个div中。
<!DOCTYPE html>
<html>
<head>
  <script src="../jquery.min.js"></script>
  <style></style>
</head>
<body>
  <form action="/" id="searchForm">
   <input type="text" name="s" placeholder="Search..." />
   <input type="submit" value="Search" />
  </form>
  <!-- the result of the search will be rendered inside this div -->
  <div id="result"></div>

  <script>/* attach a submit handler to the form */
  $("#searchForm").submit(function(event) {

    /* stop form from submitting normally */
    event.preventDefault(); 
        
    /* get some values from elements on the page: */
    var $form = $( this ),
        term = $form.find( 'input[name="s"]' ).val(),
        url = $form.attr( 'action' );

    /* Send the data using post and put the results in a div */
    $.post( url, { s: term },
      function( data ) {
          var content = $( data ).find( '#content' );
          $( "#result" ).empty().append( content );
      }
    );
  });</script>
</body>
</html>

Demo: