jQuery Ajax 常用方法
1. load() :jQuery load() 方法是简单但强大的jQuery方法。
语法: $(selector).load(url,data,callback);
-url: 必需填的。 规定希望加载的url。
-data: 选填。 规定与请求一同发送的查询字符串键值对集合。
callback: 选填。 load()完成后所执行的函数。
例 :$("#div1").load("test.txt");
如果相同路径下有一个test.txt文件,那么这个方法就会将这个文件加载到id为div1的div中。
除了上面加载整个文件,还可以这样用:
$("#div1").load("text.txt #p1");
这个方法可以将text.txt文件中的id为p1的元素加载到这个div中。
2. ajaxSend() :在ajax请求执行前执行函数,这是一个ajax事件。
语法: .ajaxSend([function(event,xhr,options)]);
参数: function(event,xhr,options); (必需的)
- event 包含event对象
- xhr 包含XMLHttpRequest对象
- options 包含ajax请求中使用的选项
例子: $(document).ajaxSend(function(e,xhr,opt){
$(this).html("Requesting" + opt.url);
});
//这个例子是绑定在document上面的,在这个DOM中,任何一个ajax请求执行前,都会触发这个事件,这个例子是在ajax事件触发的时候将ajax访问的地址写在页面上。
3. ajaxComplete() : ajax请求完成后注册要调用的处理程序,与ajaxSend相反,语法一样。
4. ajaxError() : 当ajax请求完成且出现错误时注册要调用的处理程序。
5. ajaxStart() :在第一个ajax请求开始时执行。
平时我们写js的时候,是可以几个ajax请求一起执行的,但是也会有个执行的先后顺序。这个事件呢,是在第一个ajax执行前被触发,与ajaxSend不同,当有几个ajax请求一起进行的时候,ajaxSend就会有几个请求执行几次,而ajaxStart总共就只会执行一次,那就是第一个ajax请求开始时。
语法: .ajaxStart(function());
6. ajaxStop() :在最后一个ajax请求结束时执行。
这几个方法的区别 :
- ajaxStart(): 在第一个ajax请求开始时触发,只会执行一次。
- ajaxStop() : 在最后一个ajax请求结束后触发,只会执行一次。
上述两个方法的参数function()是没有参数的。
- ajaxSend() : 在每个ajax请求开始时触发,几次请求就执行几次。
- ajaxComplete() : 在每个ajax请求结束后触发,几次请求就执行几次。
上述两个方法的参数function都是有参数的:function(event,xhr,options)。
注意:在jQuery1.9中,上列所有ajax事件都必须绑定在document中监听。
$(document).ajaxStart(function(){});