Ajax与jQuery中的Ajax学习总结(二)

jQuery定义了一个高级工具方法和四个高级工具函数。

这些高级工具都基于同一个强大的底层函数:jQuery,ajax()

注:一个高级工具——load()

四个高级工具函数——jQuery.getScript(),jQuery.getJSON(),jQuery.get()和jQuery.post()

jQuery.getScript()加载并执行JavaScript代码文件,

jQuery.getJSON() 加载URL,并解析为JSON,并将解析结果传递到指定的回调函数中。这两个函数都会调用一个更通用的URL获取函数:jQuery.get()。

与load()方法一样,所有这些函数都是异步的:在任何数据加载前它们就会返回调用者,加载结果则通过调用指定的回调函数来通知。


load()方法

向它传入一个URL,它会异步加载该URL的内容。然后将内容插入每一个选中的元素中,替换掉已经存在的任何内容。

load方法接受的参数()

1.URL参数,必须。如果传给该方法的第一个参数是函数而不是字符串,那么load方法是事件处理程序注册方法,而不是Ajax方式。如果只想显示加载文档的一部分。可以在URL后面添加一个空格和一个jQuery选择器。例如

$("#temp"),load("weather_report.html #temperature");//URL后面的空格是必须的。

2.可选参数,表示数据,可追加到URL后面,或者与请求一起发送。

通常情况下,load()方法发送HTTP GET请求,凡是如果传入数据对象,则发送POST请求。传入的数据可以是字符串和对象。如果传入的是字符串,则会追击到URL后面(放在“?”或“&”后面),

//加载特定区号的天气预报
$('#temp').load("us_weather_report.html","zipcode:02121");

如果传入的是对象,该对象会被转化为一个永“&”分隔的名/值对后与请求发送。

//使用对象作为数据,并指定为华氏温度
$('#temp').load("us_weather_report.html",{zipcode:02121,unit:'F'});

3.可选参数,回调函数。(若没有指定任何数据,回调函数可以作为第二个参数传入,否则,它必须是第三个参数)

在jQuery对象中,每一个元素都会调用回调函数,并且每次调用都会传入三个参数

1.被加载URL的完整文本内容,

2,状态码字符串(是类似,“success”成功,“error”,“timeout”,“notmodified ”304 ,“parsererror”无法按照期望的方式解析 )

3,用来加载XMLHttpRequest对象。


jQuery.getScript()

1.第一个参数是JavaScript代码文件的URL。它会异步加载文件,加载完成后在全局作用域执行该代码。它能同时适用于同源和跨源脚本。

2.可以传入回调函数作为第二个参数。在这种情况下,jQuery会在代码加载和执行完成后调用一次该回调函数。

注:传递给高级工具函数的回调函数,仅在请求成功完成时才会被调用。如果需要在发生错误以及成功时都得到通知,则需要使用底层的jQuery,ajax()函数。

jQuery.getJSON()

它会获取文本,然后解析为JSON(使用jQuery.parseJSON()函数),然后调用指定的回调函数。

与getScript不同,getJSON方法还接受一个可选的数据对象参数。就和传入load方法中的 一样。这个数据必须是第二个参数。回调函数是第三个。

如果传递给jQuery.getJSON()的URL或数据字符串在末尾或“&”字符前含有“=?”字符串,则表明这是一个JSONP请求。


jQuery.get()和jQuery.post()

和上面两个函数一样,这两个方法也接受上述三个参数。除此之外,这两个方法还接受可选的第4个参数。第4个参数会影响在传入回调函数前数据的处理。

jQuery的Ajax数据类型
传入get或POST工具函数中的参数传入回调函数前
text作为纯文本返回,不做任何处理
html(load方法使用的类型)将返回的文本插入到文档自身中
XML请求的URL被认为指向XML格式的数据,传给回调函数的值是一个表示该XML文档的document对象,而不是保存在文档文本的字符串
script请求的URL被认为指向JavaScript文件,返回的文本在传入回调函数前,会当做脚本执行。
JSON请求的URL被认为指向JSON格式的数据文件。
JSONP请求的URL被认为指向服务器脚本。在该类型下,传递给回调函数的是解析好的对象。
如果都没有指定以上的类型中的一个,jQuery会检查http响应中的Content-Type头,若头部信息含有以上类型的字符串,就按照常理处理,若以上都不符合,则数据就被当做纯文本处理。


jQuery.ajax()函数

jQuery的所有Ajax工具最后都会调用jQuery.ajax()函数。

jQuery.ajax()仅接受一个参数:一个选项对象。

=======================

明天继续更新

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值