Ajax技术基础

对于AJAX技术,感觉以前虽然用过但是对于AJAX没有一个清晰的认识,今天专门总结一下,希望掌握的更加牢固吧!

一,什么是AJAX?

AJAX通常被叫做异步刷新技术,其实他也是可以同步的。主要都用于异步访问服务器。

在通常情况下,我们的页面都是静态的,如果想要与服务器交互,我们可以通过一系列的手段来向服务器发送请求,并将返回的信息展示在页面上,但是通常需要刷新页面,如果不停的请求就需要不停的刷新整个页面,这对于客户而言带来很大的麻烦,尤其是网速很慢的情况,本来只需要更改页面一小点地方的信息,却要刷新整个页面,如果页面有上万的图片,这一次刷新的代价就太大了。所以引进了AJAX技术,可以保证页面只刷新你想要的内容。

其实实现异步刷新的方式不止AJAX技术,还有iframe嵌入式框架,在一个网页嵌套另一个网页的内容,只用刷新iframe的内容(几乎被ajax取代)。

二,AJAX实现原理

AJAX实现过程其实分为四个步骤:

①创建AJAX对象

②连接服务器

③发送请求

④接受请求消息并处理

我们来一步一步的解释响应的实现代码。

1)如何创建AJAX对象?

  这里其实有一个兼容性的麻烦,在非IE6的浏览器中AJAX的对象就是XMLHttpRquest对象,而在IE6中是没有定义这个对象的,需要通过内置的ActiveXObject插件产生AJAX对象。

创建AJAX对象代码:

var oAjax=new XMLHttpRequest();//非IE6浏览器

var oAjax=new ActiveXObject("Microsoft.XMLHTTP");//IE6浏览器

所以为了达到兼容性创建的代码一般这样写:

if(window.XMLHttpRequest){//值得注意的是这里要写window.XMLHttpRequest
var oAjax=new XMLHttpRequest();//非IE6浏览器
}
else {
var oAjax=new ActiveXObject("Microsoft.XMLHTTP");//IE6浏览器
}

解释一下为什么要写成window.XMLHttpRequest,而不能写成XMLHttpRequest。

在js中

用没有定义的变量---报错
用没用定义的属性---undefined

使用window.XMLHttpRequest就相当于XMLHttpRequest成了属性,就不会报错。

2)创建好了对象,接下来需要连接服务器,如何连接服务器呢?

其实很简单,只用调用AJAX对象的open方法。

oAjax.open(‘GET|POST‘,‘URL‘,true|false);//连接服务器

参数很简单就三个,前两个一看就知道了,说下第三个

第三个标志:是同步传输还是异步传输,一般肯定选择true,也就是异步传输了。

另外说下在JS中同步和异步的区别(与生活中同步异步刚好相反):

同步:就是事情需要一步一步的做(当第一个请求发送给服务器,需要等待服务器返回消息,在发送第二个)

异步:事情可以一起做(不用在意前面的请求是否返回消息,直接可以发送请求)

3)连接了服务器,接下来当然是发送请求了,如何发送呢?

发送请求也很简单,直接调用AJAX对象的send方法。

oAjax.send();

4)发送了请求,接下来是接受服务器的返回信息,解析并处理,如何接受呢?

接受服务器返回的消息,其实需要分几个过程。

发送请求到服务器,服务器是否成功的交互了呢?其实每次ajax与服务器进行交互,会触发一个onreadystatechange的事件(注意是事件),既然是事件就需要编写对应的处理函数。

oAjax.onreadystatechange=funcion (){

if(oAjax.redystate==4){//信息读取完成,但是不一定成功读取
     if(oAjax.status==200){//HTTP状态码,成功的返回
     //处理返回消息
    alert(oAjax.responseText);//弹出返回信息
     }
 }}

三,使用AJAX

一般AJAX的函数存在三个参数。

在js文件中写入

function ajax(url, fnSucc, fnFaild)
{
    //1.创建Ajax对象
    if(window.XMLHttpRequest)
    {
        var oAjax=new XMLHttpRequest();
    }
    else
    {
        var oAjax=new ActiveXObject("Microsoft.XMLHTTP");
    }

    //2.连接服务器
    //open(方法, 文件名, 异步传输)
    oAjax.open(‘GET‘, url, true);

    //3.发送请求
    oAjax.send();

    //4.接收返回
    oAjax.onreadystatechange=function ()
    {
        //oAjax.readyState    //浏览器和服务器,进行到哪一步的状态码
        if(oAjax.readyState==4)    //读取完成
        {
            if(oAjax.status==200)    //成功
            {
                fnSucc(oAjax.responseText);
            }
            else
            {
                if(fnFaild)
                {
                    fnFaild(oAjax.status);
                }
                //alert(‘失败:‘+oAjax.status);
            }
        }
    };
}

在调用ajax的文件中写入调用的方法

ajax(url,fnsucc,fnfailed);//调用ajax函数

//url是请求的url
//fnsucc是得到服务器返回信息的处理函数,需要自己编写。
//fnfailed是未成功的到服务器返回信息的处理函数,需要自己编写,可以不写。
function fnsucc(参数){
//处理代码
}

function fnfailed(参数){
//处理代码
}

大概就这些,以后学到新的知识,会逐渐补充...

时间: 2024-08-24 18:38:01

Ajax技术基础的相关文章

Ajax技术原理小结

ajax:Asynchronous Javascript and XML   异步Javascript 和XML. 是一种创建交互式网页应用的网页开发技术. 1.0 优势: 1.1 通过异步模式,提升了用户体验. 1.2 优化了浏览器与服务器之间的传输,减少了不必要的数据往返,减少了带宽占用. 1.3 Ajax引擎在客户端运行,承担了一部分本来由服务器承担的共组,从而减少了大用户量下的服务器负载. 2.0 工作原理 Ajax核心是Javascript对象XmlHttpRequest.该对象在 I

JAVA EE 项目经常使用知识 之AJAX技术实现select下拉列表联动的两种使用方法(让你真正理解ajax)

ajax 下拉列表联动的使用方法. ajax的定义: AJAX 是一种用于创建高速动态网页的技术. 通过在后台与server进行少量数据交换,AJAX 能够使网页实现异步更新.这意味着能够在不又一次载入整个网页的情况下,对网页的某部分进行更新. ajax效果的一个样例: 区域为空的时候,维护人情况: 选了一个区域后的情况:(选 舒城县 联带出来的维护人员 小刘) 一.原生态的js实现 XMLHttpRequest 是 AJAX 的基础 XMLHttpRequest 对象 全部现代浏览器均支持 X

Ajax之基础

几个问题引发的思考:什么是Ajax?它是干什么的?在什么时候用?同步和异步又是什么?这一连串的问题让我问的我真是彻底伤心啦!按说前几集视频看完后,这几个问题就该解决了,但是自己却还是不懂.可见自己的学习方法真的有问题,有问题就要改嘛,现在就来解决下Ajax几个简单的问题. 什么是Ajax? AJAX 指异步 JavaScript 及 XML(Asynchronous JavaScriptAnd XML).Ajax不是一个技术,它实际上是几种技术,每种技术都有其独特之处,合在一起就成了一个功能强大

谈谈Ajax技术

首先我们先认识下Ajax : Ajax是Asynchronous JavaScript and XML的缩写,即“异步的JavaScript和XML技术”. AJAX是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新. 这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. Ajax原理图 : XMLHttpRequest对象 : XMLHttpRequest是AJAX的基础. 所有现代浏览器均支持XMLHttpRequest对象.

20150220 Comet反向Ajax技术-在线客服系统之服务端

20150220 Comet反向Ajax技术-在线客服系统之服务端 2015-02-20 李海沿 前面我们讲了comet反向Ajax模型原理 以及实现了简单的实时页面聊天系统. (地址:http://www.cnblogs.com/lihaiyan/p/4281049.html) 本文中,我们在它的基础上来实现一个在线客服系统的服务端. 一.搭建页面客服系统框架 1.首先新建一个kefu.html网页 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01

初步认识Ajax及其基础应用

初步认识Ajax及其基础应用 Ajax(Asynchronous JavaScript And XML)是服务器和客户端相结合的一种技术,由其英文单词可看出其包含JavaScript和XML,当然另外还包含CSS样式.XMLHttpRequest数据交互对象和DOM文档对象等技术. Ajax主要用于网页的局部刷新,用户在输入框中输入时激发文本框事件,该事件会激发JavaScript程序去响应服务器,由于JavaScript不支持服务器通信,因此需要 XMLHttpRequest与服务器进行交流:

JAVA EE 项目常用知识 之AJAX技术实现select下拉列表联动的两种用法(让你真正理解ajax)

ajax 下拉列表联动的用法. ajax的定义: AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. ajax效果的一个例子: 区域为空的时候,维护人情况: 选了一个区域后的情况:(选 舒城县 联带出来的维护人员 小刘) 一.原生态的js实现 XMLHttpRequest 是 AJAX 的基础 XMLHttpRequest 对象 所有现代浏览器均支持 XMLHttp

AJAX技术简介及入门实例

最近在学校参加暑期实习,参与的是一个社交网站项目,学长那边分配给的任务是前端开发,需要学习AJAX技术. 对于一个像我一样刚刚接触Web开发且无多少实际项目经验的新手而言,AJAX技术显得复杂而又深奥.经过两天的baidu.google,我对AJAX的基本原理有了一个大致的认识,在此总结一下. 1. 什么是AJAX? AJAX全称是异步的JavaScript和XML,是Asynchronous JavaScript and XML的缩写.AJAX技术用于创建交互式网页应用的网站开发,至于何为异步

Ajax 技术学习

一.Ajax 基础 1.1 什么是 Ajax? 1.2 在哪里我们会用到 ajax 1.3 ajax 的工作原理 1.4 XMLHttpRequest 对象 1.4.1 XMLHttpRequest 常用方法 1.4.2 XMLHttpRequest 常用属性 二.让我们来试一试吧 2.1 简单的使用 ajax ,验证用户名是否合法 2.1.1 前端 demo (index.jsp) 2.1.2 JavaScript demo 2.1.3 2.1.4 后端 servlet 代码 2.2 运行截图