`
jjfat
  • 浏览: 284144 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jQuery类库新手使用指南之AJAX方法 - 第一部分

阅读更多

日期:2012/03/07

 

jQuery类库新手使用指南之AJAX方法

最 近几年很多网站,事实上基本所有的网站都使用一个技术 - AJAX来提供流畅并且高效的用户体验。无论是出名的Google Maps还是Gmail,或者是流行的javascript框架-jQuery Mobile,都使用AJAX来获取后台数据,并且实时更新用户浏览页面。

使用javascript代码来构建一个AJAX应用可能需要技巧。但是,很多的javascript类库,包括jQuery都已经内建支持AJAX,这样使得开发一个AJAX驱动的网站或者应用变得非常简单。

在这个教程中,我们将学习使用jQuery来执行基本的AJAX请求操作。 你将会学习:

  • AJAX是什么?工作原理是什么?为什么AJAX是一个好东西?
  • 如何使用jQuery来调用各种AJAX请求 
  • 使用AJAX请求来发送数据
  • 处理服务器端的AJAX请求,获取返回的数据
  • 如何自定义jQuery的AJAX处理及其参数设置
  • AJAX的高级使用

注意:本文主要介绍javascript端的使用,如何你需要了解后台,请参考你所使用的语言。

AJAX是什么?工作原理是什么?为什么AJAX是一个好东西?

简单说,AJAX是一个帮助你的浏览器和服务器异步通讯的javascript技巧。是A synchronous J avaScript A nd X ML的缩写,和传统的web编程比较来说,他们有如下区别:

  • 传 统方式的web页面处理包含了链接和表单,当用户点击或者发送,将会对服务器进行一次请求调用。然后服务器会通过返回整个页面来响应,然后浏览器负责显示 页面内容,替换开始的页面。这个过程可能非常的耗时间,往往会让用户的使用体验大打折扣,因为用户可能得花很多时间来等待页面加载
  • 使用AJAX方式,javascript代码会向服务器请求一个URL,同时也可以发送数据。javascript代码然后处理服务器的响应,然后对应做处理。例如,可能计算返回的数据,添加或者更新页面上的组件,或者通知用户服务器端数据的变化等 

因为AJAX的请求往往在后台发生,用户在阅读网页的时候,javascript代码可以继续在后台工作。这个过程对于用户来说是不可见的。并且不会打扰用户目前浏览的页面内容。这一点使得web应用更接近于桌面应用的行为。

AJAX的基础是javascript中的XMLHttpRequest对象,这个对象提供了各种方法,例如,open(),send()和onreadystatechange()方法来创建AJAX的请求和响应。

书写跨浏览器的AJAX的js代码可能非常费时。很幸运的是,jQuery提供了使用简单的AJAX方法帮助你跳过底层的处理 。

我们首先来看看最重要的方法:$.get().

使用$.get()方法来创建GET请求

jQuery的$.get()方法提供了你简单的方式来处理HTTP GET方法,通常用来获取web页面或者图片。对应的是POST方法。使用$.get()方法非常简单,如下:

$.get( url );

url是服务器端的一个地址,可以是服务器端脚本或者是一个静态页面,如下:

$.get( "http://gbin1.com/index.html" ); 

或者一个动态的document

$.get( "http://gbin1.com/index.jsp" ); 

当然,同时也支持参数,如下:

$.get( "http://gbin1.com/index.jsp?category=jquery" ); 

一个简单的方法来处理是使用参数对象来发送http参数,如下:

var gbdata={category:"jquery", subcategory:"ajax"};
 $.get( "http://gbin1.com/index.jsp", data );  

当然以下形式也没有问题:

var gbdata="category=jquery&subcategory=ajax";
  $.get( "http://gbin1.com/index.jsp", data );  

服务器端取得数据

这里我们使用的$.get()方法都是发送请求到服务器,但是有的时候,我们需要得到服务器返回的内容,例如,一些数据。这里我们如何处理呢?答案就是书写一个回调(Callback)方法,一个AJAX请求的返回数据会作为这个回调方法的参数,如下:

function myCallback( returnedData ) {
   // 这里我们可以处理returnedData,例如,封装数据生成HTML展现给用户
 } 
 

一旦你创建了你的回调函数,你就可以将它传递给$.get()方法,如下:

var gbdata={category:"jquery", subcategory:"ajax"};
 $.get( "http://gbin1.com/index.jsp", gbdata, myCallback );

指定返回的数据类型

服务器端的数据返回类型可以是不同的格式,包括,XML,JSON和javascript,或者HTML。缺省情况下,jQuery会尽力自己判断返回的数据格式,并且正确解析,当然最好的大家自己指定数据格式。

参数可以为以下:

  • XML
  • JSON
  • script
  • HTML

例如,如果你知道你的服务器端返回JSON格式,你可以调用$.get(),如下:

$.get( "http://gbin1.com/index.jsp", gbdata, myCallback, "json" );

这里是一个完整的例子,展示了如何使用$.get()方法来调用一个AJAX请求并且返回响应内容。首先创建一个文本文件如下:

{
   "site": "GBin1.com",
   "date": "2011/06/06",
   "tag": "jQuery",
   "pages": 800
 }

以上文件模拟了一个JSON响应的结果。下面我们保存另外一个html文件,如下:

<!doctype html>
<html lang="en">
<head>
<title>Site Info Demo for jQuery $.get()</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<style>
	#container{
		padding: 100px;
		font-size: 12px;
		font-family: arial;
	}
	#result{
		padding: 10px 0;
	}
	#result li{
		padding: 10px 0;
	}
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
<script>
$( function() {
    $('#showinfo').click( function() {
      var data = { site: "GBin1.com", date: "20120318" };
      $.get( "siteinfo.txt", data, success, "json" );
    } );

    function success( siteData ) {
      var result = "<li>Site Name:" + siteData.site + "</li>";
            result += "<li>Creation Date:" + siteData.date + "</li>";
            result += "<li>Site tag: "  + siteData.tag + "</li>";
            result += "<li>Site pages: "  + siteData.pages + "</li>";
      $("#result").html(result);
    }
 } );
</script>
</head>
<body> 
<div id="container">
 <button id="showinfo">show info</button>
 <ul id="result"></ul>
</body>
</div>
</html>

在线演示

代码说明:

  1. 首先我们这里包含了一个show info的按钮,点击这个按钮触发click事件
  2. 代 码最上面我们加载jQuery的最新类库,然后当页面加载完毕后,即DOM is ready后等待运行,这里我们没有使用 "$(document).ready(function(){" , 而是直接使用 "$( function() {",这两种方式在jQuery是等同的。当然,使用前一种代码更容易阅读,后面一种方式比较简洁。
  3. 我们使用click方法来绑定一个 点击方法到show info按钮。如果你点击这个按钮,将会触发一个AJAX请求到siteinfo.txt,并且我们向这个url传递了俩个参数,当然,对于这个例子来说 传递url参数没有意义,如果你指向一个后台url,它需要处理你的参数,再返回结果。然后,这里有个success()的回调函数,它在AJAX请求完 毕后运行,最后我们指定使用的数据格式是JSON
  4. success()方法将调用由jQuery处返回的JSON对象,并且组装最后的显示内容。
  5. 我们将显示内容显示到$("#result")中,这是一个div层
  6. 如果你使用firefox,并且安装了firebug,你可以使用网络功能来查看后台的ajax调用,如下:

jQuery类库新手使用指南之AJAX方法

可以看到以上AJAX请求及其响应处理代码非常简单,大家是不是觉得使用jQuery的AJAX方法学习成本很低,希望大家能喜欢!

 

来源:jQuery类库新手使用指南之AJAX方法 - 第一部分

0
0
分享到:
评论

相关推荐

    jQuery类库新手使用指南之AJAX方法

    jQuery类库新手使用指南之AJAX方法

    JQuery类库(jquery-1.2.1,jquery-1.2.6,jquery-1.3.2,jquery-1.4.1)

    JQuery是一个广泛使用的JavaScript库,它极大地简化了HTML文档遍历、事件处理、动画制作以及Ajax交互。在提供的压缩包中包含了JQuery的几个不同版本:jquery-1.2.1,jquery-1.2.6,jquery-1.3.2以及jquery-1.4.1。...

    jquery类库.zip

    jQuery是一个广泛应用于Web开发的JavaScript库,它极大地简化了JavaScript的DOM操作、事件处理、动画设计和Ajax交互。这个“jquery类库.zip”文件显然包含了有关jQuery的核心库及相关资源,可能是不同版本的jQuery库...

    jQuery 类库以及使用说明

    jQuery 是一个广泛使用的JavaScript库,它极大地简化了HTML文档遍历、事件处理、动画和Ajax交互等任务。自2006年发布以来,jQuery已经成为前端开发中的一个基石,为无数开发者提供了便捷的API和功能。 一、jQuery的...

    最新JQuery类库 -- JQuery1.4

    **jQuery 1.4:一个高效、易用的JavaScript库** jQuery是一个强大的JavaScript库,它极大地简化了HTML文档遍历、事件处理、动画设计和Ajax交互。jQuery 1.4是该库的一个重要版本,发布于2010年,带来了许多性能优化...

    jQuery类库、API

    jQuery是一个广泛应用于Web开发的JavaScript库,它极大地简化了JavaScript的DOM操作、事件处理、动画设计和Ajax交互。自2006年发布以来,jQuery迅速成为开发者最钟爱的库之一,因其简洁的语法和强大的功能而备受赞誉...

    jquery类库和帮助文档

    jQuery是一款广泛应用于Web开发的JavaScript库,它极大地简化了JavaScript的DOM操作、事件处理、动画制作以及Ajax交互。这个压缩包中的“jquery类库及技巧”包含了丰富的jQuery相关资源,包括API文档和实用操作技巧...

    jquery类库和引入类库代码

    **jQuery 类库详解** jQuery 是一个广泛应用于前端开发的JavaScript库,它简化了HTML文档遍历、事件处理、动画制作和Ajax交互等任务。标题提到的`jquery-1.7.2`是jQuery的一个版本,发布于2012年,尽管现在有更新的...

    jquery类库各版本综合

    1. **选择器**: jQuery的核心功能之一是强大的CSS选择器,允许开发者轻松地选取页面上的元素。例如,`$("#myID")`用于选取ID为"myID"的元素,`$(".myClass")`则选取所有类名为"myClass"的元素。 2. **DOM操作**: ...

    jQuery类库文档 包括 api, js

    jQuery,作为一款广泛使用的JavaScript库,极大地简化了DOM操作、事件处理、动画制作以及Ajax交互。这个压缩包包含了jQuery的核心知识,包括API文档和实际的js文件,帮助开发者深入理解并高效运用jQuery。 **1. ...

    jquery类库

    jQuery是一个广泛应用于Web开发的JavaScript库,它极大地简化了JavaScript的DOM操作、事件处理、动画设计和Ajax交互。自2006年发布以来,jQuery迅速成为开发者最喜爱的工具之一,因为它使得复杂的网页交互变得简单易...

    最新jQuery类库1.4.2版

    这是最新的jQuery类库版本为1.4.2版,现在微软只提供了jquery-1.4.2.js jquery-1.4.2.min.js jquery-1.4.2-vsdoc.js的下载 jquery-1.4.2.min-vsdoc.js--暂时微软也没提供下载的地方 迄今为止最新的

    jquery类库和API

    jQuery是一个广泛应用于Web开发的JavaScript库,它极大地简化了JavaScript的DOM操作、事件处理、动画设计和Ajax交互。本篇文章将深入探讨jQuery的核心概念、主要API以及提供的实用功能。 首先,我们来了解一下...

    JQuery类库下载

    这个“JQuery类库下载”显然指的是JQuery 1.4.2版本,这是一个历史悠久但仍然具有重要价值的版本。在这个版本中,JQuery引入了许多实用的功能,帮助开发者更高效地构建交互式的网页应用。 1. **DOM操作**:JQuery的...

    Javascript脚本库:jQuery类库

    jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多javascript高手加入其team,包括来自德国的J&ouml;rn Zaefferer,罗马尼亚的Stefan Petre等等。jQuery是继prototype之后又一个优秀的Javascrīpt框架...

    JQuery1.4.1类库,JQuery1.4.2类库和帮助文档

    3. **帮助文档**:压缩包中的"jQuery1.4.2_API帮助文档简体中文版.chm"是一个非常有价值的资源,它提供了关于jQuery1.4.2的详细API参考和使用指南。CHM文件是一种常见的Windows帮助文件格式,通常包含索引、搜索功能...

    jquery Ajax js类库

    3. **Promise API**: jQuery AJAX 请求返回的是一个Promise对象,可以链式调用 `.done()`, `.fail()`, `.always()` 等方法处理成功或失败的情况。 4. **$.getJSON()**: 专门用于获取JSON数据的函数,如: ```...

    JQuery类库,Javascript类库

    在本例中,jQuery是一个JavaScript类库,它提供了一系列用于DOM操作、事件处理、动画和Ajax请求的工具,使得开发者无需从零开始编写这些功能的代码。 **在JSP和HTML中使用** JQuery可以在多种环境中使用,包括JSP...

    Jquery类库学习jquery的必备类库

    最新的jquery类库包 jQuery由美国人John Resig于2006年初创建,至今已吸引了来自世界各地的众多javascript高手加入其team,包括来自德国的J&ouml;rn Zaeffere ,罗马尼亚的Stefan Petre等等。 jQuery是一个快速的...

Global site tag (gtag.js) - Google Analytics