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

2020-05-24 21:19:07易采站长站整理

加载 HTML

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


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

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


<span>test</span>

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


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

点击按钮后:

加载 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 内的输出:

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

加载 JS

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


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

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