返回值:XMLHttpRequestjQuery.post(url, [data], [success(data, textStatus, XMLHttpRequest)], [dataType])
通过 HTTP POST 方式从服务器载入数据。
-
1.0 新增jQuery.post(url, [data], [success(data, textStatus, XMLHttpRequest)], [dataType])
url (String) 将要请求的 URL 字符串。data (Map, String) 可选参数,发送给服务器的字符串或者映射。success(data, textStatus, XMLHttpRequest) (Function) 可选参数,当请求成功后会执行的回调函数。dataType (String) 可选参数,预计从服务器返回的数据类型。
这是一个 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()
设置的 cache
和 ifModified
选项在这些请求中无效。
示例:
请求 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");