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

Ajax实现原理

 
阅读更多

当下盛行的Ajax

现在Ajax框架数不胜数,Ajax的功能也太庞大的以至于它连它的父辈Javascript都带动起来了,记得我最初接触web的时候Javascript还没到达有现在的高度,如今随着客户提醒越来越重要,很多软件开发并不仅仅停留在功能实现的要求上,而是更注重交互、分享和互动(这也是web2.0的目标)。其实这也是完全正确的,毕竟那种仅仅赋予功能的东西我们不能满足了,例如你买东西还想要挑好看的呢,何况软件开发呢。回到正题,Ajax框架我还是赞成使用的,毕竟自己来实现效率太慢了,像目前优秀的javascript框架jQuery就不得不令人赞赏,而且它也是越来越受欢迎,连微软都在Asp.Net MVC框架中自带了jQuery。但是我觉还是有必要了解Ajax的本质的,这样你才能运用自如。

Ajax 的工作

Ajax直觉认识:我们发送一个请求,但是这个请求比较特殊它是异步的,也就是说客户端是不会感觉到的。在发送这个请求的时候我们绑定了一个事件,这个事件会监控我们发送请求的状态,并且每次状态改变都会触发,所以我们就可以根据不同的状态让他执行不同的操作。请求到达服务器端的后服务器端根据相应的请求返回对应的信息,这个返回信息我们可以取得并且是异步得到,不会引起客户端刷新。既然在上面已经绑定了监控状态变化的事件,我们就可以在那里首先做好在得到返回信息要做的处理(当然如果失败也会有相应的状态我们也会做出相应的处理),我们在处理中得到返回信息通过javascript在客户端做相应操作即可。

Ajax 核心—XMLHttpRequest

上面我们大概感受了一下Ajax的过程,我们发现发送异步请求才是核心,事实上它就是XMLHttpRequest,整个Ajax之所以能完成异步请求完全是因为这个对应可以发送异步请求的缘故。而且我们又发现上面那个事件就是整个处理过程的核心,可以根据不同状态执行不同操作,其实它就是XMLHttpRequest的方法onreadystatechange,它在每次状态发生改变时都会触发。那么是谁取得的返回信息呢?它就是XMLHttpRequest的另一个方法responseText(当然还有responseXML)。(⊙o⊙)哦,我们还没有说发送给谁以及执行发送操作,这两个就是XMLHttpRequest的open和send方法。Y(^o^)Y,其他的当然还有了,我们直接列出来吧:

XMLHttpRequest 对象

属性

readyState

请求状态,开始请求时值为0直到请求完成这个值增长到4

responseText

目前为止接收到的响应体,readyState<3此属性为空字符串,=3为当前响应体,=4则为完整响应体

responseXML

服务器端相应,解析为xml并作为Document对象返回

status

服务器端返回的状态码,=200成功,=404表示“Not Found”

statusText

用名称表示的服务器端返回状态,对于“OK”为200,“Not Found”为400

方法

setRequestHeader()

向一个打开但是未发生的请求设置头信息

open()

初始化请求参数但是不发送

send()

发送Http请求

abort()

取消当前相应

getAllResponseHeaders()

把http相应头作为未解析的字符串返回

getResponseHeader()

返回http相应头的值

事件句柄

onreadystatechange

每次readyState改变时调用该事件句柄,但是当readyState=3有可能调用多次

代码实现

ajax.js文件代码,也是我们说的主要内容,是一个javascript文件,所有的Ajax操作都在这里:

其他相关的代码也贴出来吧,这样才能正确执行

使用ajax.js代码的页面代码,也就是Default.aspx前台代码:

Ajax.aspx的后台代码,也就是处理XMLHttpRequest请求的页面后台代码(其对应的前台需要去掉form标签):

从代码我们看出:首先我们创建一个 XMLHttpRequest 对象(由于浏览器不同需要 相应判断处理),设置相应的请求信息(通过open来做,例如请求地址等 设置 );然后我们绑定 onreadystatechange 事件,在这个事件中我们根 据服务器返回状态的不同来做出不同处理,这其中主要是请求成功后接收相应的返回值来通过 javascript 对客户端做出相应操作(我 们只是使显示有关信息);最后我们发送这个请 求(通过send方法)。

总结

通过上面说 明和代码实现我们发现事实上整个 Ajax 的无刷新功能就是利用 XMLHttpRequest 的异步请求来完成的。关键 就是我们了解XMLHttpRequest的相关成员信息。当然,我们上面说实际开发中如果在手动写这些代码就太不划算了,我们可以选择合适的框架来进行 Ajax开发。OK,就到这里吧!

分享到:
评论

相关推荐

    Ajax实现原理解释

    Ajax实现原理解释 java 与ajax的结合 是一本很好的学习文档

    Ajax实现原理和使用详解

    **Ajax 实现原理** Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它的核心在于使用 JavaScript 和浏览器内置的 XMLHttpRequest(XHR)对象进行通信,从而...

    AJAX原理 原理 AJAX

    微软也意识到了这个问题,因此它也开始在AJAX领域奋起直追,比如说推出它自己的AJAX框架Atlas,并且在.NET 2.0也提供了一个用来实现异步回调的接口,即ICallBack接口。 AJAX技术的原理、意义和发展趋势都是我们需要...

    Ajax工作原理

    Ajax工作原理 以及优点 缺点一些用途啊 关于什么Ajax的ppt文件

    ajax 基本原理 ajax 基本原理

    ### Ajax基本原理详解 #### 一、引言 随着互联网技术的发展,用户对于网页应用的交互性和用户体验的要求越来越高。传统的Web应用通常采用浏览器发送请求、服务器处理并返回完整页面的方式,这种方式存在明显的缺点...

    ajax ajax原理 ajax代码 ajax编程 ajax学习

    ### **Ajax 原理** Ajax的原理主要包含以下几个步骤: 1. **创建 XMLHttpRequest 对象**:这是Ajax的基础,现代浏览器通常都内置了XMLHttpRequest对象。 2. **开启一个HTTP请求**:使用XMLHttpRequest对象的`open()`...

    Ajax实现页面分步加载(仿新浪、网易等大型网站首页)

    二、Ajax实现原理 1. 创建XMLHttpRequest对象:所有现代浏览器都内置了这个对象,我们可以通过new XMLHttpRequest()来实例化。 2. 打开连接:调用XMLHttpRequest对象的open()方法,传入请求类型(GET或POST)、URL和...

    Ajax基本运行原理

    ### Ajax基本运行原理详解 #### 引言 随着互联网技术的不断发展,用户对于网页应用程序的交互性和用户体验的要求越来越高。传统的浏览器/服务器(B/S)架构虽然解决了早期客户端/服务器(C/S)架构中存在的部署和...

    ajax的基本原理以及实现

    ### AJAX的基本原理及其实现 #### 一、引言 AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现...

    Ajax底层原理及使用有那些方式和面试问题

    ### Ajax底层原理及使用方式详解 #### 一、Ajax简介 Ajax(Asynchronous JavaScript and XML,异步JavaScript和XML)是一种用于创建交互式网页应用的技术。它不是一种新的编程语言,而是一种使用现有标准的新方法...

    Php mysql ajax 实现留言本

    3. **分页加载**:使用AJAX实现分页功能,用户可以无感知地加载更多留言。 **实现步骤** 1. **设计数据库**:根据上述说明设计数据库结构。 2. **编写PHP脚本**:创建处理请求的PHP文件,如`submit_comment.php`...

    Ajax工作原理以及优缺点

    ### Ajax工作原理及优缺点详解 #### 一、Ajax的工作原理 Ajax(Asynchronous JavaScript and XML,异步JavaScript和XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。这种技术的核心在于使用`...

    ajax原理、JSON介绍

    4. **Ajax工作原理** - **触发事件**:用户操作(如点击按钮)启动Ajax事件。 - **创建XMLHttpRequest对象**:实例化对象,设置请求参数,如URL和HTTP方法(GET或POST),并发送请求。 - **服务器处理**:服务器...

    AJAX异步处理原理分析

    **AJAX异步处理原理分析** AJAX,全称Asynchronous JavaScript and XML(异步JavaScript和XML),是一种在不刷新整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现局部...

    ajax 自己重写 实现原理

    我自己写的ajax,而且有注释,大家看了之后就真正懂的ajax的实现原理。

    Ajax实现用户注册

    总结来说,"Ajax实现用户注册"涉及了JavaScript基础、Ajax通信、HTTP请求响应、JSON数据交换、前端验证与服务器端验证、以及特定框架如ASP.NET AJAX的使用。通过这些技术,我们可以构建一个高效、实时反馈的用户注册...

    关于ajax原理的ppt

    **Ajax原理的理解** Ajax,全称为Asynchronous JavaScript and XML,是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它的出现极大地提升了Web应用程序的用户体验,因为它允许数据在后台与服务器...

    Ajax实现分页查询

    下面,我们将深入探讨如何利用Ajax实现分页查询,包括其工作原理、关键代码解析以及实际应用中的注意事项。 #### 工作原理 分页查询的核心在于将大量数据分成多个小块进行展示,每一页显示一定数量的数据项。Ajax...

    Ajax实现用户登录

    【Ajax实现用户登录】知识点详解 在Web应用中,用户登录是常见的功能模块,而Ajax(Asynchronous JavaScript and XML)技术的引入,极大地提升了用户体验,实现了页面无刷新的数据交互。在"Ajax验证用户名是否已经...

Global site tag (gtag.js) - Google Analytics