一、获取异步数据
jQuery可以从服务器异步获得静态数据。
①load()
$.load(url,data,callback)
- url要加载的页面地址,
- data发送到服务器的数据key/value格式,
- callback表示加载成功后返回到加载页面的回调函数。
其中url中还可以过滤页面元素。
a.html代码为:
testtest1
②getJSON()
方法:$.getJSON(url,data,callback):获取.json格式的数据并进行处理。
参数:url要加载的页面地址,data发送数据,callback回调函数。
news.js[ { "title": "新天龙八部要停播", "date":"2014-1-26" }, { "title": "我是歌手你喜欢谁", "date":"2014-1-24" }]
html:
③getScript()
$.getScript(url,callback):获取js文件并自动执行注入的脚本。
参数:url为要加载的js文件地址,callback为回调函数。
实例:
news1.js:
var data = [ { "title": "新天龙八部要停播", "date": "2014-1-26" }, { "title": "我是歌手你喜欢谁", "date": "2014-1-24" }];$.each(data,function () { var html = ""; $.each(data, function (index, item) { html += (index + 1); html += "标题:" + item.title + ""; html += "日期:" + item.date + ""; }); $("#divTip").html(html);});
调用:
$(function () { $("#Button1").click(function () { $.getScript("news1.js"); });});
二、请求服务器数据——$.get,$.post
①方法
- $.get(url,[data],[callback],[type])
- $.post(url,[data],[callback],[type])
参数说明:url是要请求的数据地址;data是表示发送到服务器的地址是key/value格式;callback表示请求成功后执行的回调函数;type是返回数据的格式,如html、json、xml等。
注意:data中如果包含中文格式,要使用encodeURI()方法进行转码;在客户端接收数据时要使用decodeURI()方法进行解码。
②差别:
$.get和$.post方法差别不大,主要差别在以下两点:
- $.get不适合传递数据量较大的数据,$.post无此限制。
- $.get请求的结果会缓存到浏览器中,而$.post结果不会浏览器缓存。
③实例:
三、$.ajax
①方法
$.ajax([options])是比较底层的异步调用方法。参数options是key/value格式的,既包含发送请求的设置,也包含相应后的回调数据。
需要注意的是跨域调用时要使用Jsonp方式。
②ajax中的全局事件
实例: