参数
url 必需。规定把请求发送到哪个 URL。
data 可选。映射或字符串值。规定连同请求发送到服务器的数据。
success(data, textStatus, jqXHR) 可选。请求成功时执行的回调函数。
dataType可选。规定预期的服务器响应的数据类型。
默认执行智能判断(xml、json、script 或 html)。
jQuery.post(url,data,success(data, textStatus, jqXHR),dataType);
等价于:
$.ajax({
type: 'POST',
url: url,
data: data,
success: success,
dataType: dataType
});大部分实现会规定一个 success 函数:
$.post("ajax/test.html", function(data) {
$(".result").html(data);
});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"); });通过 AJAX POST 请求改变 div 元素的文本:
$("input").keyup(function(){
txt=$("input").val();
$.post("/jquery/gethint.asp",{suggest:txt},function(result){
$("span").html(result);
});
});例子 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");$("#province").change(function(){
var pid = $("#province option:selected").val();
var href='/common/ajax_scenic.php?action=city&pid='+pid+'&'+Math.random();
var params = {
type:'GET',
url:href,
dataType:'text',
success:function(data){
jQuery("#city").append(data);
}
};
jQuery.ajax( params );
});$.ajax({
url:'/member/ajax.php'+Math.random(),
dataType:'text',
data:encodeURI('action=edit_phone&uid='+uid+'&phone='+phone),
success:function(data){
var jsondata = eval('('+data+')');
if(jsondata.result=='failure'){
alert(jsondata.content);
}
if(jsondata.result=='success'){
$('#comment_list').after(jsondata.html);
alert('评论成功!');
}
}
});var params = {
type:'GET',
url:href,
dataType:'text',
success:function(data){
jQuery("#city").append(data);
//$(".test").hide();
}
};
jQuery.ajax( params );完整的AJAX代码
$.ajax({
type:'GET',
url:href,
dataType:'text',
data:encodeURI('id=1&uid='+uid), //参数也可以这么写data: {id:1,uid:2}
beforeSend:function(){
$("#msg").html("logining");
},
success:function(data){
jQuery("#city").append(data);
},
complete: function(XMLHttpRequest, textStatus){
alert(XMLHttpRequest.responseText);alert(textStatus);
},
error: function(){} ,
});