jQuery学习笔记之 Ajax操作篇(一) - 数据加载


Posted in Javascript onJune 23, 2014

加载 HTML

我们通常使用加载 HTML 的方法来加载 HTML 片段,并插入到指定位置,假设当前页面为:

<div></div>
<button>load</button>

jQuery学习笔记之 Ajax操作篇(一) - 数据加载

同目录下的 test.html 文件内容为:

<span>test</span>

我们可以使用 load 方法来加载 HTML,将其绑定到按钮的点击事件上:

$('button').click(function() {
  $('div').load('test.html');
 });

点击按钮后:

jQuery学习笔记之 Ajax操作篇(一) - 数据加载

加载 JSON

JSON 即 Javascript Object Notation,直译过来即 Javascript 对象表示法,因此它能很方便地表示和传输数据,它规定键和值都必须包含在双引号内,且函数为非法 JSON 值。

{
  "name": "stephenlee", 
  "sex": "male"
}

将上述 JSON 数据保存在 test.json 文件内。我们可以使用 getJSON 方法加载 JSON 数据,同样将其绑定在按钮的点击事件上:

$('button').click(function() {
  $.getJSON('test.json');
 });

由于 getJSON 方法是作为 jQuery 的全局对象而定义的,因此这里需要使用 $ 来调用该方法。这里的 $ 指的是全局 jQuery 对象,而不是 $() 所指的个别 jQuery 对象。因此我们也称 getJSON 函数为全局函数。
但我们会发现上述代码只是获取了 JSON 数据,但看不出任何效果,这里我们可以使用 getJSON 方法的第二参数作为回调函数来测试效果:

$('button').click(function() {
  $.getJSON('test.json', function(data) {
   console.log(data);
   $.each(data, function(index, content) {
    console.log(content);
   })
  });
 });

点击按钮后,我们来看下 console 内的输出:

jQuery学习笔记之 Ajax操作篇(一) - 数据加载

这里的 each 函数的第一个参数可以接收数组或对象,第二个参数为值回调函数,将每次循环中数组或对象的当前索引和值做为参数。

加载 JS

有时候我们不希望在页面初次加载时就加载所有的 JS 文件,而是动态地根据需求来加载,假设当前目录下有一个 JS 文件,内容为一个简单的 alert:

$(function() {
 alert('test');//
})

我们可以使用全局函数 getScript 来加载该文件,同样绑定到按钮的点击事件上:

$('button').click(function() {
  $.getScript('test.js');
 });

点击按钮后,加载 test.js 文件,并成功触发 alert。

加载 XML

对 XML 的加载操作与 JSON 类似,因为 XML 文档的作用也是与数据存储相关,在同目录下创建 text.xml 文件,内容为:

<person>
<name>stephenlee</name>
<sex>male</sex>
</person>

加载 XML 文档可以直接使用 get 方法,为什么看上去像一个默认方法,这个可以根据 AJAX 的全称看出端倪 - Asynchronous JavaScript And XML。
同样将其绑定在按钮点击事件上:

$('button').click(function() {
  $.get('test.xml', function(data) {
    console.log(data);
  });
 });

查看 console 结果为:

jQuery学习笔记之 Ajax操作篇(一) - 数据加载

这里需要注意,如果 XML 文档内的格式错误,虽然不会报错,但是将无法执行回调函数。

Javascript 相关文章推荐
jquery 表格分页等操作实现代码(pagedown,pageup)
Apr 11 Javascript
js网页右下角提示框实例
Oct 14 Javascript
JS组件Bootstrap Table表格行拖拽效果实现代码
Aug 27 Javascript
jQuery+ajax实现滚动到页面底部自动加载图文列表效果(类似图片懒加载)
Jun 07 Javascript
JS短信验证码倒计时功能的实现(没有验证码,只有倒计时)
Oct 27 Javascript
详解基于javascript实现的苹果系统底部菜单
Dec 02 Javascript
JS定时器实现数值从0到10来回变化
Dec 09 Javascript
Vue.js使用$.ajax和vue-resource实现OAuth的注册、登录、注销和API调用
May 10 Javascript
js实现Tab选项卡切换效果
Jul 17 Javascript
解决Vue开发中对话框被遮罩层挡住的问题
Nov 26 Javascript
JavaScript对象字面量和构造函数原理与用法详解
Apr 18 Javascript
JavaScript 中for/of,for/in 的详细介绍
Nov 17 Javascript
jquery让返回的内容显示在特定div里(代码少而精悍)
Jun 23 #Javascript
yepnope.js使用详解及示例分享
Jun 23 #Javascript
js的延迟执行问题分析
Jun 23 #Javascript
JQEasy-ui在IE9以下版本中二次加载的问题分析及处理方法
Jun 23 #Javascript
教你用AngularJS框架一行JS代码实现控件验证效果
Jun 23 #Javascript
js自定义鼠标右键的实现原理及源码
Jun 23 #Javascript
js代码实现的加入收藏效果并兼容主流浏览器
Jun 23 #Javascript
You might like
两款万能的php分页类
2015/11/12 PHP
让你的PHP7更快之Hugepage用法分析
2016/05/31 PHP
PHP读取并输出XML文件数据的简单实现方法
2017/12/22 PHP
thinkphp5修改view到根目录实例方法
2019/07/02 PHP
TP5框架实现签到功能的方法分析
2020/04/05 PHP
PHP中isset、empty的用法与区别示例详解
2020/11/05 PHP
js网页中的(运行代码)功能实现思路
2013/02/04 Javascript
等待指定时间后自动跳转或关闭当前页面的js代码
2013/07/09 Javascript
客户端js判断文件类型和文件大小即限制上传大小
2013/11/20 Javascript
jQuery实现瀑布流布局
2014/12/12 Javascript
JavaScript中的数值范围介绍
2014/12/29 Javascript
JavaScript实现99乘法表及隔行变色实例代码
2016/02/24 Javascript
JS动态创建元素的两种方法
2016/04/20 Javascript
js记录点击某个按钮的次数-刷新次数为初始状态的实例
2017/02/15 Javascript
js Dom实现换肤效果
2017/10/21 Javascript
微信小程序实现鼠标拖动效果示例
2017/12/01 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(下)
2018/04/18 Javascript
[02:44]完美大师赛主赛事淘汰赛第二日观众采访
2017/11/24 DOTA
[01:16]DOTA2小知识课堂 Ep.03 芒果树无伤肉山
2019/12/05 DOTA
Python中正则表达式的用法实例汇总
2014/08/18 Python
Python3使用requests包抓取并保存网页源码的方法
2016/03/15 Python
python 使用poster模块进行http方式的文件传输到服务器的方法
2019/01/15 Python
python用quad、dblquad实现一维二维积分的实例详解
2019/11/20 Python
Python调用scp向服务器上传文件示例
2019/12/22 Python
浅析python 字典嵌套
2020/09/29 Python
python 利用matplotlib在3D空间绘制二次抛物面的案例
2021/02/06 Python
Myprotein中国网站:欧洲畅销运动营养品牌
2021/02/11 全球购物
Java的类可以定义为Protected或者Private得吗
2015/09/25 面试题
党员干部2014全国两会学习心得体会
2014/03/10 职场文书
党员对照检查剖析材料
2014/10/13 职场文书
初中学生操行评语
2014/12/26 职场文书
中秋联欢会主持词
2015/07/04 职场文书
MySQL 数据类型选择原则
2021/05/27 MySQL
PostgreSQL13基于流复制搭建后备服务器的方法
2022/01/18 PostgreSQL
用Python生成会跳舞的美女
2022/01/18 Python
PostgreSQL出现死锁该如何解决
2022/05/30 PostgreSQL