一.原始的Ajax和jQuery的Ajax的比较
(1)使用原始的Ajax需要做较多的事情,如创建xmlHttpRequest对象,判断请求状态和编写回调函数等.而Jquery的Ajax只需用Load()方法,就可以实现相同的效果.
(2)jQuery中的Ajax为我们提供了统一的编程模式,我们不需要封装XMLHttpRequest对象,并且使我们的页面变得简洁了.
二.jQuery的Ajax详解
(1) Load(url,[data],[callback])
作用:载入远程HTML,文件代码插入至DOM中.
参数:
url(string):请求的HTML页的url地址.
data(Map):(可选参数)发送至服务器的(键/值)数据.
callback:(可选参数)请求完成时的回调函数.
说明:默认使用get方式来传递,如果data参数有传递数据进去,就会自动转换为post提交.
(2)get(url,[data],[callback],[type])
作用:使用get方式来进行异步请求.
参数:
url(string):发送请求的url地址.
data(Map):要发送给服务器的数据,已键值对的形式表示,会作为QueryString附加到请求的url中.
callback(function):载入成功时回调函数(只有当response的返回状态是success才是调用该方法).
type:参数是指data数据的类型,可能的值有"XML","HTML","Script","json","json和text",默认为"html"
说明:通过远程HTTPGET请求载入信息,这个简单的GET请求功能一取代复杂$.ajax.请求成功时可调用回调函数.
讲解:此函数可以直接在url中拼接.例如:
$.get("AjacGetMethod.aspx?param=bthAjaxGet_click");
或者通过data参数传递:
$.get("AjaxGetMethod.aspx",{"param":"btnAjaxGet_click"});
(3) jQuery.getJson(url,[data],[callback])
作用:通话HTTPGET请求载入JSON数据,与JQuery.get(url,[data],[callback],"json")这种方法等价.
说明:通过HTTPGET请求载入json数据,在jquery1.4中,你可以通过使用json形式的回调函数来加载其他网域的json数据.
讲解:getJson函数仅仅将get函数的type参数设置为json,在回调函数中获取的数据已经按照json格式解析后的对象了.
(4) JQuery.getScript(url,[callback])
作用:通过get方式请求载入并执行一个javascript文件.
参数:url(string):待载入js文件地址.
callback(function):成功载入后回调函数.
(5) jQuery.post(url,[data],[callback],[type])
作用:使用post方式进行异步请求.
参数:url(string):发送请求的url地址.
data(Map):要发送给服务器的数据,以键值对的形式表示.
callback(function):载入成功时回调函数(只有当response的返回状态是success才是调用该方法).
type(string):为客服端请求的类型(josn,xml等),官方的说明是:type of data to be sent.
(6) JQuery.ajax(options)
作用:通过HTTP请求加载远程数据.
三。全局的Ajax事件
在JQuery.ajaxSetup(options)中的options参数属性中,有一个global属性,详细信息如下:
类型:布尔值.
默认值:true.
说明:是否触发全局的Ajax事件. 这个属性用来设置是否触发全局事件的Ajax事件,全局的Ajax事件是一系列伴随Ajax请求的发生事件.
主要事件:ajaxComplete(callback):Ajax请求完成时执行的函数.
ajaxError(callback):ajax请求发生错误时执行的函数.
ajaxSend(callback):ajax请求发送前执行的函数.
ajaxStart(callback):ajax请求开始时执行函数.
ajaxStop(callback):ajax请求结束时执行的函数.
ajaxSuccess(callback):ajax请求成功时执行的函数.