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 相关文章推荐
如何用javascript判断录入的日期是否合法
Jan 08 Javascript
学习YUI.Ext 第三天
Mar 10 Javascript
兼容多浏览器的字幕特效Marquee的通用js类
Jul 20 Javascript
随窗体滑动的小插件sticky源码
Jun 21 Javascript
js动态添加表格数据使用insertRow和insertCell实现
May 22 Javascript
JavaScript仿静态分页实现方法
Aug 04 Javascript
AngularJS中$injector、$rootScope和$scope的概念和关联关系深入分析
Jan 19 Javascript
Node.js笔记之process模块解读
May 31 Javascript
使用Node搭建reactSSR服务端渲染架构
Aug 30 Javascript
Javascript地址引用代码实例解析
Feb 25 Javascript
你准备好迎接vue3.0了吗
Apr 28 Javascript
微信小程序反编译的实现
Dec 10 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
用Apache反向代理设置对外的WWW和文件服务器
2006/10/09 PHP
php 多继承的几种常见实现方法示例
2019/11/18 PHP
Add Formatted Data to a Spreadsheet
2007/06/12 Javascript
input+select(multiple) 实现下拉框输入值
2009/05/21 Javascript
JQuery中的$.getJSON 使用说明
2011/03/10 Javascript
用jquery实现自定义风格的滑动条实现代码
2011/04/26 Javascript
js中eval()函数和trim()去掉字符串左右空格应用
2013/02/02 Javascript
JS数组的常见用法实例
2015/02/10 Javascript
Jquery解析json字符串及json数组的方法
2015/05/29 Javascript
Javascript常用小技巧汇总
2015/06/24 Javascript
跟我学习javascript的Date对象
2015/11/19 Javascript
基于JS代码实现图片在页面中旋转效果
2016/06/16 Javascript
Bootstrap表单布局样式源代码
2016/07/04 Javascript
js显示动态时间的方法详解
2016/08/20 Javascript
二维码图片生成器QRCode.js简单介绍
2017/08/18 Javascript
利用JS如何计算字符串所占字节数示例代码
2017/09/13 Javascript
监听element-ui table滚动事件的方法
2019/03/26 Javascript
js+canvas实现两张图片合并成一张图片的方法
2019/11/01 Javascript
微信小程序入门之指南针
2020/10/22 Javascript
[02:23]1个至宝=115个英雄特效 最“绿”至宝拉比克“魔导师密钥”登场
2018/12/29 DOTA
[00:59]DOTA2英雄背景故事——上古巨神
2020/06/28 DOTA
[01:10:24]DOTA2-DPC中国联赛 正赛 VG vs Aster BO3 第一场 2月28日
2021/03/11 DOTA
Python实现GUI学生信息管理系统
2020/04/05 Python
python3.5安装python3-tk详解
2019/04/26 Python
利用PyQt中的QThread类实现多线程
2020/02/18 Python
Python过滤序列元素的方法
2020/07/31 Python
Python如何读写二进制数组数据
2020/08/01 Python
外贸主管求职简历的自我评价
2013/10/23 职场文书
教师实习自我鉴定
2013/12/18 职场文书
最新会计专业求职信范文
2014/01/28 职场文书
上班玩手机检讨书
2014/02/17 职场文书
《一株紫丁香》教学反思
2014/02/19 职场文书
战友聚会主持词
2014/04/02 职场文书
银行反洗钱宣传活动总结
2015/05/08 职场文书
联欢会开场白
2015/06/01 职场文书
比较几种Redis集群方案
2021/06/21 Redis