`
dengyll
  • 浏览: 93403 次
社区版块
存档分类
最新评论

轻松掌握AJAX(Jquery)异步通信

 
阅读更多

上篇博客谈了AJAX,下面再说说它的优缺点,我们知道不管是什么技术一般都是因为有它的利用价值才出现的,也就是它们都是有优点的,而有老句话说的是“是药三分毒”,技术也一样,什么样的技术一般也都会有它的缺陷的。项目中只要是它的优点大于它的缺点我们就会去使用它。AJAX的缺点相对于它的优点来说基本上可以忽略,因为它的优点真的是很优秀

AJAX优点:

1、 使用异步方式与服务器通信,不需要打断用户正在进行的操作,具有更加迅速的响应能力。

2、 可以在不更新整个页面的前提下维护数据(不刷新页面),给用户的体验非常棒。这也是它最大的优点。

3、 AJAX的原则是“按需取数据”,可以最大程度的减少冗余请求,充分利用了客户端闲置的处理能力,降低服务器的负荷。

AJAX缺点:

1、破坏浏览器后退按钮的正常行为。在动态更新页面后,用户无法回到前一个页面的状态,这是因为浏览器只能记下历史记录中的静态页面。

2、使用JavaScript作Ajax的引擎,JavaScript的兼容性和Debug需要特别注意。

AJAX让用户页面丰富起来,增强用户体验.AJAX也是所有Web开发的必修课.虽然说AJAX技术并不复杂,但是实现方式还是会因为每个开发人员而有所差异。看着它如此之好,是不是感觉使用起来还是不太方便,不太好控制而烦恼呢?不要着急,下面就再介绍一种技术,让AJAX的异步通信技术更加方便的应用到我们的程序中,那就是Jquery

jQuery提供一系列AJAX函数来帮助我们统一这种差异, 并且让调用AJAX更加简单.jQuery提供了几个用于发送AJAX请求的函数. 其中最核心的也是最复杂的是jQuery.ajax(),所有的其他AJAX函数都是它的一个简化调用.当我们想要完全控制AJAX时可以使用此方法, 否则还是使用简化方法如get, post, load等更加方便。下面我们就来逐一认识这些个方法:

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

载入远程 HTML 文件代码并插入至 DOM 中,默认使用 GET 方式传递,附加参数时自动转换为 POST 方式。jQuery 1.2 中,可以指定选择符,来筛选载入的 HTML 文档,DOM 中将仅插入筛选出的 HTML 代码。语法形如 "url #some > selector"。

参数:

url

待装入 HTML 网页网址

data(可选)Map,String

发送至服务器的 key/value 数据。在jQuery 1.3中也可以接受一个字符串了。

callback(可选)Callback

载入成功时回调函数。






示例:

描述: 加载 feeds.html 文件内容。

jQuery 代码:

 $("#feeds").load("feeds.html");

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

通过远程 HTTP GET 请求载入信息,这是一个简单的 GET 请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用 $.ajax。

参数:前面的解释参见1

type(可选)String

返回内容格式,xml,html, script, json, text, _default

示例:

描述: 显示 test.php 返回值(HTML 或 XML,取决于返回值)。

jQuery 代码:

$.get("test.php",function(data){
  alert("Data Loaded: " + data);
});

描述: 显示 test.cgi 返回值(HTML 或 XML,取决于返回值),添加一组请求参数。

jQuery 代码:

$.get("test.cgi",{ name: "John", time: "2pm" },
  function(data){
    alert("Data Loaded: " + data);
  });

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

通过 HTTP GET 请求载入 JSON 数据,在 jQuery 1.2 中,您可以通过使用JSONP形式的回调函数来加载其他网域的JSON数据,如 "myurl?callback=?"。jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。 注意:此行以后的代码将在这个回调函数执行前执行。

参数:解释参见1

示例:

描述: 从 test.js 载入 JSON 数据,附加参数,显示 JSON 数据中一个 name 字段数据。

jQuery 代码:

$.getJSON("test.js",{ name: "John", time: "2pm" }, function(json){
  alert("JSON Data: " +json.users[3].name);
});

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

通过 HTTP GET 请求载入并执行一个 JavaScript 文件,jQuery 1.2 版本之前,getScript 只能调用同域 JS 文件。 1.2中,您可以跨域调用 JavaScript 文件。注意:Safari 2 或更早的版本不能在全局作用域中同步执行脚本。如果通过 getScript 加入脚本,请加入延时函数。

参数:参见1

示例:

描述:加载并执行 test.js ,成功后显示信息。

jQuery 代码:

$.getScript("test.js",function(){
  alert("Script loaded andexecuted.");
});

5.jQuery.post(url, [data], [callback], [type] )

通过远程 HTTP POST 请求载入信息,这是一个简单的 POST 请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用 $.ajax。

参数:参见2

示例:

描述1:请求 test.php 网页,忽略返回值

jQuery 代码:

$.post("test.php");

描述2:请求 test.php 页面,并一起发送一些额外的数据(同时仍然忽略返回值)

jQuery 代码:

$.post("test.php",{ name: "John", time: "2pm" } );

描述3:输出来自请求页面 test.php 的结果(HTML 或 XML,取决于所返回的内容)

jQuery 代码:

$.post("test.php",function(data){
   alert("Data Loaded: " + data);
 });

6.jQuery.ajax(options )

通过 HTTP 请求加载远程数据。jQuery 底层 AJAX 实现。简单易用的高层实现见 $.get, $.post 等。$.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况下你无需直接操作该函数,除非你需要操作不常用的选项,以获得更多的灵活性。

最简单的情况下,$.ajax()可以不带任何参数直接使用。

注意:所有的选项都可以通过 $.ajaxSetup()函数来全局设置。

一些参数介绍请参见:

http://www.cnblogs.com/zengen/archive/2011/03/25/1995761.html

关于jQuery.ajax百度文库里介绍的非常全面(还有示例):

http://baike.baidu.com/view/6278307.htm

总结:

各种功能的实现随着技术的不断革新将会变得越来越简单,我们只需要掌握某些主流技术的基本原理和学习的方法即可,有了一套完整的思想,学习什么技术基本上都一样,有时候遇到一门新技术我们可能用两三天的时间就能明白其大概的框架,参考说明就能将其应用到我们的项目中来。

分享到:
评论

相关推荐

    jquery异步方式请求

    在IT领域,特别是Web开发中,jQuery作为一个流行的JavaScript库,为开发者提供了丰富的工具来简化HTML文档遍历、...掌握jQuery异步请求的使用,对于任何希望提升网站交互性的前端开发者来说,都是不可或缺的技能之一。

    Jquery异步上传 ajax上传 php异步上传

    这个过程中,jQuery简化了前端的JavaScript代码,Ajax实现了异步通信,而PHP则在服务器端处理文件的存储和验证。在实际项目中,为了增强用户体验,我们还可以加入进度条、错误提示等功能,使得整个上传过程更加友好...

    Java通过jQuery实现ajax异步请求

    本示例工程"Java通过jQuery实现ajax异步请求"着重展示了如何利用jQuery的AJAX功能与后端Java服务器进行数据通信,从而实现页面的无刷新更新。以下将详细解释这个过程中涉及的关键知识点。 首先,jQuery是一个强大的...

    Java EE应用中的异步通信技术AJAX

    在Java EE应用中,异步通信技术扮演着重要的角色,特别是在提供实时用户交互和提高Web应用程序性能方面。...通过学习提供的"第07章 Java EE应用中的异步通信技术AJAX",你可以深入理解这一技术并应用于实际项目中。

    jquery异步提交form表单

    本文将深入探讨“jQuery异步提交form表单”这一主题,结合给出的标签“源码”和“工具”,我们将分析相关源码,并提供实际应用中的指导。 在传统的HTML表单提交过程中,页面会跳转到服务器返回的结果页面,这在用户...

    jQuery的Ajax实现异步传输List、Map

    在本篇文章中,我们将探讨如何利用jQuery的Ajax功能实现异步传输List和Map数据结构,这对于构建动态Web应用程序至关重要。通过Ajax(Asynchronous JavaScript and XML)技术,我们可以实现在不刷新整个页面的情况下...

    Jquery Asp.net AJAX 异步通讯

    **jQuery与ASP.NET AJAX异步通信详解** 在Web开发中,AJAX(Asynchronous JavaScript and XML)技术使得页面能够在不刷新整个页面的情况下与服务器进行数据交互,极大地提升了用户体验。jQuery库简化了AJAX操作,使...

    ajax jquery的使用

    Ajax 允许异步数据传输,即在后台与服务器进行通信,而无需用户感知。jQuery 提供了简单的 `$.ajax()` 函数来实现这一功能: ```javascript $.ajax({ url: "data.json", type: "GET", dataType: "json", ...

    jquery异步提交例子

    本文将深入探讨jQuery异步提交的概念、用途及其在实际项目中的应用,特别是结合Servlet进行数据交互。 首先,异步提交是Web开发中的重要技术,它允许页面在不刷新的情况下与服务器进行数据交换,提高了用户体验。...

    JQuery 异步上传文件demo

    在本项目"JQuery异步上传文件demo"中,我们将探讨如何使用jQuery的Ajax功能来实现这一目标。 首先,让我们了解异步上传的基本原理。传统的文件上传通常涉及表单提交,这会导致页面刷新,打断用户操作。而异步上传则...

    jqueryajax jquery ajax

    jQuery简化了JavaScript中的异步HTTP(Ajax)请求,使得开发者能够轻松地与服务器进行数据交互,实现页面的局部刷新,提高用户体验。在不刷新整个页面的情况下,jQuery AJAX允许动态更新内容,加载图片,甚至执行更...

    json数据jquery异步示例

    以上就是关于"json数据jquery异步示例"的相关知识点,涵盖了JSON数据的创建、传输、解析以及jQuery中的异步操作和事件处理。在实际应用中,还需要考虑性能优化、安全性等问题,确保数据交互的高效和安全。

    ssh2 ajax jquery

    它提供了简洁的API来操作DOM(Document Object Model)、处理事件、创建动画以及与服务器进行异步通信。jQuery使得开发者可以快速实现常见任务,如元素选择、遍历和操作,减少了编写JavaScript代码的繁琐程度。...

    ajax jquery 常用图片

    首先,Ajax的核心在于异步通信,它允许后台加载数据,而不会阻塞用户界面。在图片应用中,Ajax可以用于动态加载图片,例如在滚动页面时按需加载更多的图片,这样可以减少初次加载页面时的数据量,提高页面加载速度。...

    简单AJAX jquery实现

    **正文** 在Web开发中,AJAX(Asynchronous ...通过这个项目,初学者可以了解到如何在实际项目中应用jQuery进行AJAX通信,从而提升动态网页的交互性和用户体验。同时,这也是一个学习服务器端和客户端协作的好起点。

    Ajax jQuery ppt课件 冯威

    这种技术的核心在于JavaScript,通过创建XMLHttpRequest对象来实现页面的异步通信,使得用户可以与网页进行交互而不必等待整个页面的刷新。Ajax的出现极大地提升了用户体验,尤其是在数据密集型的Web应用中。 ...

    17jQuery异步ajax.docx

    总的来说,jQuery的Ajax功能使得开发者能够轻松地实现与服务器的异步通信,从而创建出更加动态和响应式的Web应用。无论是简单的GET请求获取数据,还是复杂的POST提交表单,jQuery都提供了简洁易用的API来处理这些...

    Ajax和Jquery实现谷歌百度搜索下来提示

    **Ajax(异步JavaScript和XML)** Ajax 是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它的核心是利用JavaScript向服务器发送异步请求,获取...而AjaxPro则为服务器端与客户端的异步通信提供了便利。

    AJax Jquery实现的动态树实例

    总结,"AJax Jquery实现的动态树实例"是前端开发中的一个重要实践,它结合了Ajax的异步通信能力和Jquery的便利性,创建出交互性强、功能丰富的动态树结构。通过对压缩包中的源代码学习,开发者可以掌握如何根据实际...

Global site tag (gtag.js) - Google Analytics