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 相关文章推荐
JS操作Cookie写入和读取实例代码
Oct 20 Javascript
jquery ajax,ashx,json的用法总结
Feb 12 Javascript
JavaScript几种数组去掉重复值的方法推荐
Apr 12 Javascript
基于jQuery实现音乐播放试听列表
Apr 14 Javascript
JavaScript必知必会(十) call apply bind的用法说明
Jun 08 Javascript
JS中事件冒泡和事件捕获介绍
Dec 13 Javascript
客户端(vue框架)与服务器(koa框架)通信及服务器跨域配置详解
Aug 26 Javascript
前端必备插件之纯原生JS的瀑布流插件Macy.js
Nov 22 Javascript
VSCode配置react开发环境的步骤
Dec 27 Javascript
Angular 4.x+Ionic3踩坑之Ionic3.x pop反向传值详解
Mar 13 Javascript
Angular父子组件通过服务传参的示例方法
Oct 31 Javascript
在vue-cli3.0 中使用预处理器 (Sass/Less/Stylus) 配置全局变量操作
Aug 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
PHP获取文件绝对路径的代码(上一级目录)
2011/05/29 PHP
调整优化您的LAMP应用程序的5种简单方法
2011/06/26 PHP
Codeigniter框架实现获取分页数据和总条数的方法
2014/12/05 PHP
一个非常实用的php文件上传类
2017/07/04 PHP
修改Laravel自带的认证系统的User类的命名空间的步骤
2019/10/15 PHP
JS实现打开本地文件或文件夹
2021/03/09 Javascript
Javascript操作cookie的函数代码
2012/10/03 Javascript
jquery()函数的三种语法介绍
2013/10/09 Javascript
js导出txt示例代码
2014/01/14 Javascript
js图片预加载示例
2014/04/30 Javascript
JS获取随机数函数可自定义最小值最大值
2014/05/08 Javascript
js实现按钮颜色渐变动画效果
2015/08/20 Javascript
JavaScript小技巧整理
2015/12/30 Javascript
JavaScript知识点总结(五)之Javascript中两个等于号(==)和三个等于号(===)的区别
2016/05/31 Javascript
浅谈js常用内置方法和对象
2016/09/24 Javascript
js实现开启密码大写提示
2016/12/21 Javascript
nodejs文件夹深层复制功能
2019/09/03 NodeJs
vue根据条件不同显示不同按钮的操作
2020/08/04 Javascript
PyQt5实现无边框窗口的标题拖动和窗口缩放
2018/04/19 Python
对python中两种列表元素去重函数性能的比较方法
2018/06/29 Python
完美解决python3.7 pip升级 拒绝访问问题
2019/07/12 Python
详解Python self 参数
2019/08/30 Python
Tensorflow分批量读取数据教程
2020/02/07 Python
解决python中import文件夹下面py文件报错问题
2020/06/01 Python
python实现录音功能(可随时停止录音)
2020/10/26 Python
纽约的奢华内衣店:Journelle
2016/07/29 全球购物
沃达丰英国有限公司:Vodafone英国
2019/04/16 全球购物
中文专业毕业生自荐书范文
2014/01/04 职场文书
如何写好升职自荐信
2014/01/06 职场文书
有关打架的检讨书
2014/01/25 职场文书
营销经理工作检讨书
2014/11/03 职场文书
九寨沟导游词
2015/02/02 职场文书
2014年个人年终总结
2015/03/09 职场文书
MySQL表类型 存储引擎 的选择
2021/11/11 MySQL
Java练习之潜艇小游戏的实现
2022/03/16 Java/Android