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的闭包
Dec 31 Javascript
Jquery仿淘宝京东多条件筛选可自行结合ajax加载示例
Aug 28 Javascript
B/S模式项目中常用的javascript汇总
Dec 17 Javascript
JavaScript中逗号运算符介绍及使用示例
Mar 13 Javascript
在JavaScript中处理字符串之link()方法的使用
Jun 08 Javascript
js实现异步循环实现代码
Feb 16 Javascript
AngularJS 作用域详解及示例代码
Aug 17 Javascript
jquery+css3实现熊猫tv导航代码分享
Feb 12 jQuery
Vue 配合eiement动态路由,权限验证的方法
Sep 26 Javascript
Node如何后台数据库使用增删改查功能
Nov 21 Javascript
Javascript中的this,bind和that使用实例
Dec 05 Javascript
vue中实现点击变成全屏的多种方法
Sep 27 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下将图片以二进制存入mysql数据库中并显示的实现代码
2010/05/27 PHP
php实现的click captcha点击验证码类实例
2014/09/23 PHP
javascript some()函数用法详解
2014/11/13 PHP
PHP线程的内存回收问题
2016/07/08 PHP
PHP中常用的三种设计模式详解【单例模式、工厂模式、观察者模式】
2019/06/14 PHP
根据地区不同显示时间的javascript代码
2007/08/13 Javascript
Array, Array Constructor, for in loop, typeof, instanceOf
2011/09/13 Javascript
jQuery模拟超链接点击效果代码
2013/04/21 Javascript
网页中返回顶部代码(多种方法)另附注释说明
2013/04/24 Javascript
JQuery DataTable删除行后的页面更新利用Ajax解决
2013/05/17 Javascript
JavaScript中的style.cssText使用教程
2014/11/06 Javascript
模仿password输入框的实现代码
2016/06/07 Javascript
nodejs入门教程四:URL相关模块用法分析
2017/04/24 NodeJs
node.js+express+mySQL+ejs+bootstrop实现网站登录注册功能
2018/01/12 Javascript
node使用request请求的方法
2019/12/20 Javascript
vue-resourc发起异步请求的方法
2020/02/11 Javascript
如何在vue中使用HTML 5 拖放API
2021/01/14 Vue.js
[02:05]2014DOTA2西雅图国际邀请赛 BBC第二天小组赛总结
2014/07/11 DOTA
python并发编程之多进程、多线程、异步和协程详解
2016/10/28 Python
python遍历文件夹找出文件夹后缀为py的文件方法
2018/10/21 Python
Python发展简史 Python来历
2019/05/14 Python
布隆过滤器的概述及Python实现方法
2019/12/08 Python
解决python DataFrame 打印结果不换行问题
2020/04/09 Python
Django中和时区相关的安全问题详解
2020/10/12 Python
python 可视化库PyG2Plot的使用
2021/01/21 Python
viagogo英国票务平台:演唱会、体育比赛、戏剧门票
2017/03/24 全球购物
英国大码女性时装零售商:Evans
2018/08/29 全球购物
大学军训通讯稿
2014/01/13 职场文书
开学典礼主持词
2014/03/19 职场文书
竞选劳动委员演讲稿
2014/04/28 职场文书
小班评语大全
2014/05/04 职场文书
新教师培训方案
2014/06/08 职场文书
应聘护士求职信
2014/07/21 职场文书
小石潭记导游词
2015/02/03 职场文书
导游词300字
2015/02/13 职场文书
会议通知
2015/04/15 职场文书