1.什么是Ajax?
不用刷新整个页面就可以与服务器通讯的方法(异步):
XMLHttpRequest:该对象是对 JavaScript 的一个扩展,可使网页与服务器进行通信。是创建 Ajax 应用的最佳选择。实际上通常把 Ajax 当成 XMLHttpRequest 对象的代名词。
2.工作原理:
3.XMLHttpRequest:(了解)
(1) 创建XMLHttpRequest对象:new XMLHttpRequest();
(2) XMLHttpRequest的方法:
(3) XMLHttpRequest的属性:
4.发送请求:(了解)
(1)onreadystatechange时间处理函数
----该事件由服务器触发而不是用户;
----Ajax执行过程中服务器会通知客户端当前状态(依靠XMLHttpRequest对象的readystate属性实现)。改变readystate属性是服务器对客户端连接操作的一种方式,每次改变都会触发onreadystatechange事件。
(2)open方法:open(method,url,asynch)
----method:请求类型,类似"GET"或"POST"的字符串。若只从服务器检索一个文件而不需要发送任何数据,使用GET。若需要向服务器发送数据,用POST。
ps:某些浏览器把多个XMLHttpRequest请求结果缓存在一个url,将时间戳追加到url的最后,就能确保url的唯一性,从而避免浏览器缓存结果。
----url:路径字符串,指向所请求的服务器上的那个文件。可以是相对或绝对路径。
----asynch:表示请求是否需要异步传输,默认true。false的话要等该操作完成再往下执行。一般不用写。
(3)send方法:send(data)
----send方法为已待命的请求发送命令。
----data:将要传递给服务器的字符串。若用GET请求,则不发送任何数据,给send方法传递null即可:request.send(null),当send方法有参数时,要确保open()中指定方法是post。
(4)request.setRequestHeader(header,value)
----如果用 POST 请求向服务器发送数据,需要将 “Content-type” 的首部设置为 “application/x-www-form-urlencoded”.它会告知服务器正在发送数据,并且数据已经符合URL编码了。
----该方法必须在open()之后才能调用
5.接收响应:(了解)
(1)readystate:该属性表示Ajax请求的当前状态。每次readystate值改变都会触发readystatechange事件。
----0代表未初始化:还没有调用open方法;
----1代表正在加载:open方法已经被调用,但send方法还没有被调用;
----2代表已加载完毕:send已被调用,请求已经开始;
----3代表交互中:服务器正在发送响应;
----4代表完成:响应发送完毕
(2)status:在XMLHttpRequest对象中,服务器发送的状态码都保存在state属性里,和200或304比较判断响应是否成功
----404没有找到页面;
----403禁止访问;
----500内部服务器出错;
----200一切正常;
----304没有被修改
(3)responseText:包含了从服务器发送的数据,是什么类型取决于服务器发送的内容。当readystate属性值变成4时,responseText属性才可用,表面Ajax请求已经结束。
(4)responseXML
6.传输数据三种格式
(1)HTML 不需要解析可以直接放到文档中。若仅更新一部分区域。但传输的数据不是很方便,且html代码需要拼装。
(2)XML 笨重,解析困难,但XML是通用的数据交换格式
(3)JSON 小巧,有面向对象的特征,且有很多第三方的jar包可以把java对象或集合转为json字符
7.使用jQuery完成Ajax操作
(1)load方法:可以用于HTML文档的元素节点,把结果直接加为节点的子元素。通常而言,load方法加载后的数据是一个HTML片段。
格式:
var $obj = ...
var url = ...
var args = {key:value,...} ----json格式
$obj.load(url,args);
(2)$.get,$.post,$.getJSON:更加灵活,除去使用load方法的情况,大部分时候都使用这3个方法
相关推荐
很不错的Ajax开发草考文档,方便快捷1. AJAX介绍AJAX是一种运用JavaScript和可扩展标记语言(XML),在网络浏览器和服务器之间传送或接受数据的技术。2. AJAX实例AJAX可以用来创建更多交互式的网络应用程序。3. AJAX源...
Ajax从入门到精通.pdf 本书籍旨在深入浅出地介绍 Ajax 技术,从基础知识到高级应用,全面覆盖 Ajax 的核心概念、技术原理、实现方法和实践应用。书籍的主要内容包括: 1. Ajax 概述:本书首先介绍了 Ajax 的概念、...
Java AJAX(Asynchronous JavaScript and XML)分页与JSP(JavaServer Pages)相结合,可以提供无需刷新整个页面即可动态加载更多内容的能力,提高用户体验。本教程将深入探讨如何使用AJAX、JavaScript以及MySQL...
**Ajax 概述** Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它的核心是利用JavaScript与服务器进行异步数据交换,通过XML或者JSON格式传输数据,使得用户...
本卷从最易于理解和使用的那部分入手,介绍ASP.NET AJAX框架中能够与传统ASP.NET无缝对接的服务器端部分,包括服务器端ASP.NET AJAX Extensions与ASP.NET AJAX Control Toolkit。这部分内容不需要读者有任何的客户端...
在IT行业中,jQuery和Ajax是两个非常重要的技术,它们在构建动态、交互性强的Web应用程序时发挥着关键作用。jQuery是一个高效、简洁的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互。Ajax...
"AJAX原理与技术的深入分析" AJAX(Asynchronous JavaScript and XML)是一种异步通信技术,允许Web应用程序异步地从服务器请求数据,而不需要重新加载整个网页。下面我们将深入分析AJAX的原理、技术、意义和发展...
**Ajax Interceptor:深入理解与应用** Ajax Interceptor 是一款专为谷歌浏览器(Chrome)设计的插件,它允许开发者在Ajax请求发送后和响应返回前进行干预,从而实现对AJAX请求数据的修改。这款插件对于前端开发、...
**AjaxRequest(Ajax使用包)** Ajax,全称Asynchronous JavaScript and XML(异步JavaScript和XML),是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。AjaxRequest是实现Ajax功能的一个工具包,它...
Android Webview虽然提供了页面加载及资源请求的钩子,但是对于h5的ajax请求并没有提供干涉的接口,这意味着我们不能在webview中干涉javascript发起的http请求,而有时候我们确实需要能够截获ajax请求并实现一些功能...
《Professional Ajax, 2nd Edition》是一本深入探讨Ajax技术的专业书籍,由三位作者Nicholas C. Zakas、Jeremy McPeak和Joe Fawcett共同撰写。本书在2007年由Wiley Publishing, Inc.出版,是针对网站开发、设计以及...
《Head Rush Ajax》是一本专为想要深入理解Ajax技术的开发者编写的书籍。Ajax,全称为"Asynchronous JavaScript and XML",并非一种单一的技术,而是一种综合了多种Web开发技术的运用方式,它允许网页在不刷新整个...
**Ajax+JSON 实例详解** 在现代Web开发中,AJAX(Asynchronous JavaScript and XML)技术已经成为提升用户体验的重要工具,它允许网页在不刷新整个页面的情况下与服务器进行数据交互。结合JSON(JavaScript Object ...
**Ajax(Asynchronous JavaScript and XML)技术是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新。这种技术可以提升用户体验,因为它...
标题中的“php+ajax例子”指的是使用PHP服务器端语言与AJAX(Asynchronous JavaScript and XML)客户端技术结合的示例应用。在Web开发中,PHP通常用于处理服务器端逻辑,而AJAX则允许网页在不刷新整个页面的情况下,...
本书重点介绍Ajax及相关的工具和技术,主要内容包括XMLHttpRequest对象及其属性和方法、发送请求和处理响应、构建完备的Ajax开发工具、使用JsUnit测试JavaScript、分析JavaScript调试工具和技术,以及Ajax开发模式和...
现在Ajax在Web项目中应用广泛,几乎可以说无处不在,这就带来另外一个问题:当Ajax请求遇到Session超时,应该怎么办? 显而易见,传统的页面跳转在此已经不适用,因为Ajax请求是XMLHTTPRequest对象发起的而不
**ASP.NET AJAX 全面解析** ASP.NET AJAX(Asynchronous JavaScript and XML)是微软为.NET Framework提供的一种技术,用于创建富交互式、响应快速的Web应用程序。它将JavaScript库(MicrosoftAjax.js)与服务器端...
2. **事件处理**:库内部监听`ajaxStart`、`ajaxSend`、`ajaxSuccess`、`ajaxError`等事件,提供了对Ajax请求生命周期的控制。开发者可以通过自定义事件处理器来扩展功能或处理错误。 3. **内容替换**:默认情况下...