Jquery对ajax操作进行了封装,在Jquery中,
.ajax()方法属于最底层的方法,第二层方法是
.load(),
.get(),
.post(),第三层方法是
.getScript()和
.getJSON,今天我们来详细分解一下第二层的方法,因为它们的使用频率很高。
一、load()方法
1.load()方法主要是用来远程载入HTML代码,并能够将代码插入到DOM中。2.语法:
load(url,[data],[callback])
(1)url:请求HTML页面的URL地址。
(2)data(可选):发送至服务器的数据。
(3)callback(可选):请求完成时的回调函数,无论请求成功还是失败(与post和get方法不同)。回调函数有三个参数:
$('#div').load('test.html',function(responseText,textStatus,XMLHttpRequest){
//responseText请求返回的内容
//textStatus请求状态success、error、notmodified、timeout 4种
//XMLHttpRequestXMLHttpRequest对象
});
3.传递方式
load()方法的传递方式根据参数data来自动指定,如果没有参数传递的,则采用GET传递方式,否则会自动转换成POST传递方式。
4、举例
(1).载入一个HTML文档
$('#button').click(function(){
$('#div').load('test.html');//远程加载一个html文档
});
(2).载入一个HTML文档的一个部分
load()方法中的url参数的语法结构为:”url selector”。注意,这里URL和选择器之间有一个空格,例:加载test.html中class为”para”的内容。
$('#button').bind('click',function(){
$('#div').load('test.html' .para);//记住用空格分开
});
二、get()方法
1.使用get方法异步请求,向服务器中传递参数2.语法:
$.get(url,[data],[callback],[dataType])
(1)url:请求HTML页面的URL地址
(2)data(可选):发送至服务器的数据,数据会作为QueryString附加到URL中
(3)callback(可选):载入成功时的回调函数(只有当textResponse的返回状态是success时才调用该方法),自动将请求结果和状态传递给该方法,回调函数有两个参数:
function(data,textStatus){
//data:返回的数据
//textStatus:请求的状态
}
(4)服务器端返回的数据的格式,包括xml、html、json、script、text和default
3.举例
(1)通过get方式将姓名和密码传递给服务器
$('#button').bind('click',function(){
$.get('test.do',{
userName:userName,
password:password
},function(data,textStatus){ //此函数只在回调成功后才执行
},'text'
);
});
三、post方法
1.post()方法类似于get方法,只是传递参数的方法不同。2.语法:
$.post(url,[data],[callback],[dataType])
(1)url:请求HTML页面的URL地址
(2)data(可选):发送至服务器的数据,数据会作为QueryString附加到URL中
(3)callback(可选):载入成功时的回调函数(只有当textResponse的返回状态是success时才调用该方法),自动将请求结果和状态传递给该方法,回调函数有两个参数:
function(data,textStatus){
//data:返回的数据
//textStatus:请求的状态
}
(4)服务器端返回的数据的格式,包括xml、html、json、script、text和default