Ajax全称为:“Asynchronous JavaScript and XML ”(异步Javascript和XML),它本身不是单一技术,是一串技术的集合。
jQuery对Ajax做了大量的封装,不用去考虑浏览器兼容性。最底层的封装方法为:$.ajax(),而通过这层封装了第二层有三种方法:.load(),$.get()和$.post(),最高层是$.getScript()和
$.getJSON()方法。
1. .load(URL(必选),data(可选),callback(可选))
URL:请求文件的URL地址;
data:如果是服务器文件,一般不仅需要载入数据,还需向服务器提交数据,此时可使用第二个可选参数data,提交方式有两种:get和post。默认为get
callback :此为回调函数,也可传递三个可选参数:responseText(请求返回),textStatus(请求状态),XMLHttpRequest(XMLHttpRequest对象)。
注:XMLHttpRequest对象属于JavaScript范畴,可以调用其一些属性,具体属性详情请查阅相关资料。
2. $.get()和$.post()
.load()方法是局部方法,而$.get()和$.post()是全局方法。$.get()方法比.load()多了一个参数type,即服务器返回的内容格式:包括xml,html,script,json,jsonp和text。
3. $getScript()和$.getJSON()请查阅相关资料。
4. $.ajax()
$.ajax()方法只有一个参数。下面有本人做的一个小例子
<pre name="code" class="javascript">$(function (){
$('form input[type=button]').click(function () {
$.ajax({
url:'user.php',
type:'POST',
/* data:{
user:$('form input[name=user]').val(),
email:$('form input[name=email]').val(),
},*/
data:$('form').serialize(),
success:function(response,status,xhr){
$('#box').html(response);
}
});
});
});
php代码如下:
<?php
echo $_POST['user'].'-'.$_POST['email'];
?>
最终显示结果如下