资讯专栏INFORMATION COLUMN

细说 jQuery Ajax操作篇(一) - 数据加载

paulli3 / 2812人阅读

摘要:同样将其绑定在按钮点击事件上查看结果为这里需要注意,如果文档内的格式错误,虽然不会报错,但是将无法执行回调函数。

Ajax 通俗来讲即不需要刷新页面即可从服务器或客户端上加载数据,当然这些数据的格式是多种多样的。

加载 HTML

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

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

test

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

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

点击按钮后:

加载 JSON

JSONJavascript 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 来加载该文件,同样绑定到按钮的点击事件上:

  $("button").click(function() {
    $.getScript("test.js");
  });

点击按钮后,加载 test.js 文件,并成功触发 alert

加载 XML

XML 的加载操作与 JSON 类似,因为 XML 文档的作用也是与数据存储相关,在同目录下创建 text.xml 文件,内容为:


stephenlee
male

加载 XML 文档可以直接使用 get 方法,为什么看上去像一个默认方法,这个可以根据 AJAX 的全称看出端倪 - Asynchronous JavaScript And XML
同样将其绑定在按钮点击事件上:

  $("button").click(function() {
    $.get("test.xml", function(data) {
        console.log(data);
    });
  });

查看 console 结果为:

这里需要注意,如果 XML 文档内的格式错误,虽然不会报错,但是将无法执行回调函数。

参考

http://book.douban.com/subject/24669823/

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/87554.html

相关文章

  • 细说 jQuery Ajax操作(二) - 数据传递

    摘要:在前一篇介绍的数据加载中的例子都是从静态的文件中取得数据,而更大的价值在于与后端服务器进行数据传递,动态地请求和发送数据。首先用方式请求数据方式点击标签后,当前页面为数据请求成功。 在前一篇介绍 jQuery Ajax 的数据加载中的例子都是从静态的文件中取得数据,而 Ajax 更大的价值在于与后端服务器进行数据传递,动态地请求和发送数据。 请求数据 我们可以使用 GET、POST...

    paulli3 评论0 收藏0
  • 细说 jQuery Ajax操作(三) - 过程处理

    摘要:观察函数和函数可以用来作为观察函数,我们可以使用观察函数的回调函数来做相应的处理。当请求开始且尚未进行其他传输时,会触发的回调函数。当最后一次活动请求终止时,则会执行通过注册的回调函数。 对于 jQuery 通过 Ajax 方式传递数据时,我们还可以在过程中进行一定的处理,以便达到我们的需求。 观察函数 ajaxStart 和 ajaxStop 函数可以用来作为观察函数,我们可以使...

    Imfan 评论0 收藏0
  • 细说 jQuery 插件) - 添加全局函数

    摘要:添加全局函数所谓全局函数就是对象的方法,例如在一篇中介绍的等方法。 当我们希望将一些功能性代码重复使用,可以将其打包成一个 jQuery 插件来使用。 使用 $ 别名 首先我们在编写插件时必须保证 jQuery 库已经载入,但是我们不能保证 $ 一定可用,为了使用 $ 别名,我们可以利用 IIFE (Immediately Invoked Function Expression),...

    joyvw 评论0 收藏0
  • 细说 jQuery 事件) - 代码执行时机

    摘要:在元素一篇介绍过,可以使用来使得代码在加载完毕后自动执行代码,接下来具体介绍下这个机制。这样看上去貌似没什么问题,但是如果有两个函数需要指定时就会遇到麻烦,因为属性只能保存对一个函数的引用,如果我们写成以下形式最后代码执行后的效果是会覆盖。 在元素一篇介绍过,jQuery 可以使用 $(document).ready() 来使得代码在 DOM 加载完毕后自动执行代码,接下来具体介绍下这...

    dunizb 评论0 收藏0
  • 细说 jQuery 元素(二) - 选择符

    摘要:为了更方便对元素操作,提供了完整的选择符体系,可以分为选择符属性选择符以及自定选择符。选择符几乎支持到规范中的所有选择符。介绍个比较有用的自定义选择符选择符。 为了更方便对 DOM 元素操作,jQuery 提供了完整的选择符体系,可以分为 CSS 选择符、属性选择符以及自定选择符。 CSS 选择符 jQuery 几乎支持 CSS1 到 CSS3 规范中的所有选择符。举例如下: ...

    104828720 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<