Ajax测试:
一、$.post()格式
$.post(url,data,success(data, textStatus, jqXHR),dataType)
dataType可以为xml、json、script 或 html格式,缺省默认为html格式
二、$.post()用法
示例1:参数为json格式,返回json格式
<div id="showMess"></div>
<script>
$.post('./ajax.php', { id:'45',username:'Simon',sex:'男' }, function(data,status){
if(status=='success'){
$('#showMess').html('学号:' + data.id+', 姓名:' + data.username + ',性别:' + data.sex);
}
},'json'); //data参数为json格式
</script>
示例2:参数拼接成字符串形式传递,返回json格式
<div id="showMess"></div>
<script>
var id=45,username='Simon',sex='男';
data = 'id='+id;
data += '&username='+username;
data += '&sex='+sex;
$.post('./ajax.php', data, function(data,status){
if(status=='success'){
$('#showMess').html('学号:' + data.id+', 姓名:' + data.username + ',性别:' + data.sex);
}
},'json');
</script>
ajax.php文件:
<?php
$id = $_POST['id'];
$name = $_POST['username'];
$sex = $_POST['sex'];
$info = array('id'=>$id,'name'=>$username,'sex'=>$sex);
echo json_encode($info);
exit;
?>
示例3:传递数组参数,返回html格式
<div id="showMess"></div>
<script>
$.post('./ajax.php', { 'item[]': ['老师', '用户', '经销商', '研究员', '其他'] }, function(data,status){
if(status=='success'){
$('#showMess').html(data);
}
});
</script>
ajax.php文件:
<?php
$item = $_POST['item'];
echo implode(',',$item);
exit;
?>
三、$.get()格式
$.get(url,data,success(data, textStatus, jqXHR),dataType)
dataType可以为xml、json、script 或 html格式,缺省默认为html格式
四、$.get()用法
示例1:传递参数,返回json格式
<div id="showMess"></div>
<script>
var id=45,username='simon',sex='男';
data = '?id='+id;
data += '&username='+username;
data += '&sex='+sex;
$.get('./ajax.php'+data, function(data,status){
if(status=='success'){
$('#showMess').html('学号:' + data.id+', 姓名:' + data.username + ',性别:' + data.sex);
}
},'json');
</script>
ajax.php文件:
<?php
$id = $_GET['id'];
$username = $_GET['username'];
$sex = $_GET['sex'];
$info = array('id'=>$id,'username'=>$username,'sex'=>$sex);
echo json_encode($info);
exit;
?>
五、ajax中的success、error、complate的执行顺序
success和error是并列的,但首先是检查status是否为200,如果成功获取到结果,则执行success,否则执行error
最后再执行complate