jQuery And Ajax

load(): 最为简单和常用的Ajax方法,能加载远程HTML代码,并插入Dom中.
结构为:load(url,[data],[callback]),分别为地址,参数与回调函数.

其中load方法,是属于jQuery对象上的,也就是常用的jQuery对象都可以直接调用这个方法
如:$(".context").load("o.html") //其中context为一个class="context"的div

被加载的内容,会自动使用主页面的样式

使用load可以筛选加载进来的页面的内容,与URL参数一起书写,格式如下
url selector

如:$(".resText").load("o.html .pare"),这样只会加载class为pare的内容

参数传递:如果参数为空,则使用get方法,否则自动转换成Post,格式使用JSON
$(".resText").load("o.html .pare",{name:"cc",age:"30"})

回调函数,包括了三个参数,分别为:请求返回的内容,请求状态,XMLHttpRequest对象

$.get()方法和$.post()方法
load常用于读取静态文件,get和post可以进行更复杂的操作

$get()方法: 参数列表 $.get(url [,data] [,callback] [,type]),其中四项都是可选的
参数中的data也是以Json的形式进行参数的传递

get的回调函数只有两个参数,分别是返回的内容和请求状态.

第四个参数为type,返回的数据格式,包括HTML XML JSON等
$.get()方法传输的数据,一般限制在2k

$.post()方法, 使用的参数形式与get相同,在使用load()时,只要带上参数,默认也是用post方式传输数据

$.getScript() 方法,用于异步加载Js文件,类似jsonp的方式,通过创建一个<script>进行添加,jQuery进行了更便于使用
的封装: $.getScript('test.js')

$.getJSON()方法,异步加载JSON文件,与上面方法不同,会使用事件的机制通知加载完成并访问加载的数据
$.getJSON('text.json',function(data){...}),data就可以如同普通的json变量一样使用,可以使用jsonp来加载其他
网站的json数据

$.each(),可以用于遍历对象和数组,不同于jQuery对象的each方法.将一个对象或者数组作为第一个参数,第二个参数
为回调函数,该函数将有2个参数,第一个为对象的成员或者索引,第二个则为对应的变量或者内容(1:key 2:value)

在上述异步方法中,可以直接在url中使用?callback=函数名,来指定回调函数

$.ajax() jQuery中最底层的Ajax实现
结构为 $.ajax(options),只有一个参数,这个对象包含该方法所需要的请求设置和回调函数等信息,参数以key/value(json)
的形式存在,所有参数都是可选的

常用的参数有:
url 请求的地址
type 请求的方法POST或者GET,默认为GET
timout 超时的毫秒数,将覆盖掉$.ajaxSetup()的全局设置
data 发送到服务端的字符串,会自动转换成字符串的形式
dataType预期服务端返回的数据类型,不指定则根据HTTP包MIME信息返回的参数指定,可用的有xml,html,script,json,jsonp
text
beforeSend 发送请求前自动运行的函数名,可以修改XMLHttpRequest对象(作为参数传入)
complete请求完成后调用的回调函数,成功和失败都会调用,参数为一个XMLHttpRequest和一个textStatus
success 请求成功后调用的回调函数,传入两个参数,1:返回的内容 2:描述状态的字符串
error 请求失败后的回调函数,3个参数:1:XMLHttpRequest对象,2:错误信息 3:捕获的错误对象
global 布尔值,默认为true,表示将会触发全局Ajax事件

jQuery的serialize()方法,用于将jQuery对象进行序列化,自动生成对应的&的URL形式,并且自动对中文转码,
注意需要是表单元素(并不一定需要有form),并且需要拥有name属性
单选框和复选框也可以序列化成字符串形式,只会选中的值序列化

serilizeArray()方法,该方法返回JSON,而不是字符串

$.param()方法,用于将一个数组或JSON对象,转换成字符串的形式进行序列化(&)

全局的Ajax事件,用于对所有的Ajax请求.提供必要的公用接口
可以为指定的元素添加公共的Ajax请求监听,该事件为全局的,其他元素调用后,同样也会触发该方法,不知是否唯一..
如: $("#loading").ajaxStart(function(){...})

还包括其他的Ajax事件
ajaxStop 请求结束
ajaxComplete 请求完成
ajaxError 请求错误
ajaxSend Ajax请求前
ajaxSuccess Ajax请求成功后

可以通过单独的$.ajax 避开这些事件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值