jQuery学习大总结(五)jQuery Ajax

开发 前端
本篇将jQuery Ajax的使用进行一个完整的总结,由于涉及到的内容相似,但方法重多,所以本篇内容会显得比较多。Ajax是提高网站应用程序的一个很好的方法,当然这 使得我们可能要书写更多的代码和花费更多的时间来实现这一目的。然而,现在jQuery使得Ajax开发变得异常简单。

本篇将jQuery Ajax的使用进行一个完整的总结,由于涉及到的内容相似,但方法重多,所以本篇内容会显得比较多。Ajax是提高网站应用程序的一个很好的方法,当然这 使得我们可能要书写更多的代码和花费更多的时间来实现这一目的。然而,现在jQuery使得Ajax开发变得异常简单。

我们先从最简单的方法看起,处理复杂的ajax请求时,jQuery使用jQuery.ajax()方法进行处理。在jQuery中有一些简单的方法,它 对jQuery.ajax()方法进行了封装,使得我们在处理一些简单的Ajax事件时,不需要使用jQuery.ajax()方法,其中有些方法在之前 的文章中已经出现过了,相信大家很快便能掌握。当然,本篇后半部分会对jQuery.ajax()方法做非常具体的说明,因为它是本篇的重中之重。

以下5个方法执行一般Ajax请求的简短形式,在处理复杂的Ajax请求时应该使用jQuery.ajax().

1.load(url,[data],[callback])

载入远程HTML文件代码并插入至DOM中,默认使用GET方式,传递参数时自动转换为POST方式。

  • url:要载入的远程url地址
  • data:发送至服务器的key/value 数据
  • callback:载入成功时的回调函数

示例代码如下:

  1. //无参数、无回调函数 
  2. $("#showload").load("load.htm"); 
  3. //无回调函数 
  4. $("#showload").load("load.htm", { "para": "para-value" }); 
  5. $("#showload").load("load.htm", { "para": "para-value" }, 
  6.     function() { 
  7.         //处理 
  8.     })

[[90936]]

Load

2.jQuery.get(url, [data], [callback])

使用get方式从服务器端获取数据。

  • 发送请求的URL地址
  • 要发送给服务器的数据
  • 载入成功时回调函数

示例代码如下:

  1. $.get("jqueryget.htm", { "id": this.id }, 
  2.     function(req) { 
  3.         //成功时的回调方法 
  4.         $("#showget").html(req); 
  5.     }); 
  6. }) 

百度logo谷歌logo

这里将显示logo

3.jQuery.post(url, [data], [callback])

使用POST方式来进行异步请求。同jQuery.get()相比,差别在于请求的方式,所以这里不做特别的说明了,使用方法同jQuery.get()相似。

4.jQuery.getScript(url,[callback])

通过 GET 方式请求载入并执行一个JavaScript文件。这个技术在前边文章中已经提到过,也是jQuery.ajax的一种简单的使用方法,可以看看ajax加载js,所以在这里也不做特别的说明了。

5.jQuery.getJSON(url,[data],[callback])

通过get方式获取json格式的数据。

示例代码如下:

  1. $.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?", function(req) { 
  2.     $.each(req.items, function(i, item) { 
  3.         if (i == vnum) { 
  4.             $("<img src="" + item.media.m + "" title="" + item.title + "" />").appendTo("#showjson"); 
  5.         } 
  6.     }); 
  7. }); 

同样的,这也是jQuery.ajax()方法的一种简写方法,类似如下方法:

  1. $.ajax({ 
  2.   url: url, 
  3.   dataType: 'json', 
  4.   data: data, 
  5.   success: callback 
  6. }); 

可能你还没有使用过json数据,我的小站中已经好几次提到了json的使用,如果你还不熟悉json格式,可以看看jquery移动listbox的值、jQuery下json的使用实例

获得json数据

 

这里将随机显示一条json数据

到目前为止我们总结了jQuery.ajax的五种简写方法,接下来让我们集中精神,看看jQuery.ajax()方法,在使用中,笔者也是经常使用的jQuery.ajax(),因为大多数情况,我们需要对ajax请求出错的情况进行捕捉并处理。

6.jQuery.ajax()

使用jQuery.ajax()方法获取数据,下边给个常用写法,并做了相应的注释。

  1. $.ajax({ 
  2.     url: "http://www.microsoft.com",    //请求的url地址 
  3.     dataType: "json",   //返回格式为json 
  4.     async: true, //请求是否异步,默认为异步,这也是ajax重要特性 
  5.     data: { "id": "value" },    //参数值 
  6.     type: "GET",   //请求方式 
  7.     beforeSend: function() { 
  8.         //请求前的处理 
  9.     }, 
  10.     success: function(req) { 
  11.         //请求成功时处理 
  12.     }, 
  13.     complete: function() { 
  14.         //请求完成的处理 
  15.     }, 
  16.     error: function() { 
  17.         //请求出错处理 
  18.     } 
  19. }); 

使用jQuery.ajax()

这里将显示数据

本篇的jQuery ajax使用就总结到这里,当然还有一些方法并未能全部的总结。如ajaxStart()、ajaxStop()等,在以后使用中,我会把它们也总结下来。

原文链接:http://www.jquery001.com/jquery-ajax.html

责任编辑:陈四芳 来源: jquery001.com
相关推荐

2013-12-02 14:33:41

jQuery事件

2013-12-02 14:29:27

jQuery元素属性

2013-12-02 14:22:14

jQuery选择器

2013-12-02 14:18:33

jQuery对象

2011-05-24 13:37:16

jQueryAjax

2011-01-24 13:20:49

2012-04-27 10:00:43

jQuery插件

2012-05-14 10:18:54

jQuery

2012-07-17 10:54:49

AJAX

2012-04-27 10:13:30

jQuery Ajax

2012-03-06 16:46:29

jQuery MobijQuery MobiAjax

2009-06-26 13:46:13

Struts

2012-08-08 13:50:28

jQuery

2012-06-07 15:14:52

jQuery

2011-06-07 14:15:01

jQuery

2010-05-24 13:04:53

jQueryJavaScript

2011-10-18 10:39:57

ibmdwJavaAjax

2011-09-14 16:40:44

jQuery

2011-05-18 13:43:52

jQueryAjaxPHP

2011-05-18 13:28:46

jQueryPHPAJAX
点赞
收藏

51CTO技术栈公众号