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中的包装类型介绍
Apr 02 Javascript
利用JavaScript的AngularJS库制作电子名片的方法
Jun 18 Javascript
JS自定义选项卡函数及用法实例分析
Sep 02 Javascript
jQuery中使用animate自定义动画的方法
May 29 Javascript
最实用的JS数组函数整理
Dec 05 Javascript
Vue 获取数组键名的方法
Jun 21 Javascript
vue搜索和vue模糊搜索代码实例
May 07 Javascript
深入浅出vue图片路径的实现
Sep 04 Javascript
JsonProperty 的使用方法详解
Oct 11 Javascript
基于vue+uniapp直播项目实现uni-app仿抖音/陌陌直播室功能
Nov 12 Javascript
vue项目中使用bpmn-自定义platter的示例代码
May 11 Javascript
在vue中给后台接口传的值为数组的格式代码
Nov 12 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下对数组进行排序的函数
2010/08/08 PHP
PHP中exec函数和shell_exec函数的区别
2014/08/20 PHP
codeigniter中实现一次性加载多个view的方法
2015/03/20 PHP
学习php设计模式 php实现策略模式(strategy)
2015/12/07 PHP
PHP+sqlite数据库操作示例(创建/打开/插入/检索)
2016/05/26 PHP
php微信开发之谷歌测距
2018/06/14 PHP
firefox浏览器下javascript 拖动层效果与原理分析代码
2007/12/04 Javascript
Mootools 1.2教程 定时器和哈希简介
2009/09/15 Javascript
jquery获取焦点和失去焦点事件代码
2013/04/21 Javascript
js实现弹出窗口、页面变成灰色并不可操作的例子分享
2014/05/10 Javascript
JavaScript实现点击按钮就复制当前网址
2015/12/14 Javascript
通过BootStrap实现轮播图的实际应用
2016/09/26 Javascript
Bootstrap框架实现广告轮播效果
2016/11/28 Javascript
Easyui Tree获取当前选择节点的所有顶级父节点
2017/02/14 Javascript
js实现canvas保存图片为png格式并下载到本地的方法
2017/08/31 Javascript
JS解决IOS中拍照图片预览旋转90度BUG的问题
2017/09/13 Javascript
轻松理解vue的双向数据绑定问题
2017/10/30 Javascript
javascript用rem来做响应式开发
2018/01/13 Javascript
微信小程序如何像vue一样在动态绑定类名
2018/04/17 Javascript
微信小程序自定义单项选择器样式
2019/07/25 Javascript
详解vue beforeEach 死循环问题解决方法
2020/02/25 Javascript
python 正则表达式贪婪模式与非贪婪模式原理、用法实例分析
2019/10/14 Python
利用python对mysql表做全局模糊搜索并分页实例
2020/07/12 Python
一篇文章搞懂python的转义字符及用法
2020/09/03 Python
CSS3实现全景图特效示例代码
2018/03/26 HTML / CSS
澳大利亚足球鞋和服装购物网站:Ultra Football
2018/10/11 全球购物
证券期货行业个人的自我评价
2013/12/26 职场文书
骨干教师培训制度
2014/01/13 职场文书
幼儿园美术教学反思
2014/01/31 职场文书
餐厅执行经理岗位职责范本
2014/02/26 职场文书
志愿者活动总结报告
2014/06/27 职场文书
区域经理岗位职责
2015/02/02 职场文书
决心书格式范文
2015/09/23 职场文书
2016元旦文艺汇演主持词(开场白+结束语)
2015/12/03 职场文书
大学生创业,为什么都会选择快餐饮?
2019/08/08 职场文书
微信小程序结合ThinkPHP5授权登陆后获取手机号
2021/11/23 PHP