Ajax在jQuery中的应用---加载异步数据
Ajax是Asynchronous JavaScript and XML的缩写,其核心是通过XMLHttpRequest对象,以一种异步的方式,向服务器发送数据请求,并通过该对象接收请求返回的数据,从而完成人机交互的数据操作。在jQuery中,有大量的函数与方法为Ajax技术提供支持。
jQuery加载异步数据:
$(“#id”).load():加载html格式的数据
$.getJSON():加载json格式的数据
$.getScript():加载js格式的数据
$.get():加载xml格式的数据
1.load()方法
load(url,[data],[callback])
参数url为被加载的页面地址,可选项[data]参数表示发送到服务器的数据,其格式为key/value。可选项[callback]参数表示加载成功后,返回至加载页的回调函数。
示例:创建两个新页面a.html和b.html,前者用于加载页,单击“获取数据”按钮后,在不刷新该页面的情况下,将b.html页中的内容显示在a.html页面的<div>标记中。
a.html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script language="javascript" type="text/javascript" src="js/jquery-1.9.0.js"></script> <script type="text/javascript"> $(function() { $("#Button1").click(function() { //按钮点击事件 $("#divTip").load("b.html"); //load()方法加载数据 }) }) </script> </head> <body> <input id="Button1" type="button" value="获取数据" /> <div id="divTip"></div> </body> </html>
b.html <div class="clsShow"> 姓名:陶国荣<br /> 性别:男<br /> 邮箱:tao_guo1_rong@163.com </div>
2.getJSON()方法
getJSON(url,[data],[callback])
参数url表示请求的地址,可选项[data]参数表示发送到服务器的数据,其格式为key/value。可选项[callback]参数表示加载成功时执行的回调函数。
示例:创建一个JSON格式的文件UserInfo.json,用于保存人员资料信息。另外,创建一个页面,单击“获取数据”按钮后,将通过全局函数getJSON()获取文件UserInfo.json中的全部数据,并显示在页面中。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script language="javascript" type="text/javascript" src="js/jquery-1.9.0.js"></script> <script type="text/javascript"> $(function() { $("#Button1").click(function() { //按钮单击事件 //打开文件,并通过回调函数处理获取的数据 $.getJSON("UserInfo.json", function(data) { $("#divTip").empty(); //先清空标记中的内容 var strHTML = ""; //初始化保存内容变量 $.each(data, function(InfoIndex, Info) { //遍历获取的数据 strHTML += "姓名:" + Info["name"] + "<br>"; strHTML += "性别:" + Info["sex"] + "<br>"; strHTML += "邮箱:" + Info["email"] + "<hr>"; }) $("#divTip").html(strHTML); //显示处理后的数据 }) }) }) </script> </head> <body> <input id="Button1" type="button" value="获取数据" /> <div id="divTip"></div> </body> </html>
UserInfo.json [ { "name": "陶国荣", "sex": "男", "email": "tao_guo_rong@163.com" }, { "name": "李建洲", "sex": "女", "email": "xiaoli@163.com" } ]