谈谈Ajax技术

首先我们先认识下Ajax :

    Ajax是Asynchronous JavaScript and XML的缩写,即“异步的JavaScript和XML技术”。

    AJAX是一种用于创建快速动态网页的技术。

    通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新。

    这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

Ajax原理图 :

      

XMLHttpRequest对象 :

    XMLHttpRequest是AJAX的基础。

    所有现代浏览器均支持XMLHttpRequest对象。 XMLHttpRequest用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

创建Ajax :

var xmlhttp;

if(window.XMLHttpRequest){

  xmlhttp=new XMLHttpRequest(); //IE7+ Firefox Chrome Opera Safari

}else{

  xmlhttp=new ActiveXObject(“Microsoft.XMLHTTP”); //IE5 , IE6

}

XMLHttpRequest对象 :

    send方法:

    send(string)

    将求情发送到服务器.

    string:仅用于POST请求

GET请求与POST请求 :

GET请求:

    如果我们希望通过GET方法发送信息,请向URL添加信息: xmlhttp.open(“GET”,”demo.Java?name=jaovo&age=20”,true); xmlhttp.send();

POST请求:

    如果需要像HTML表单那样POST数据,请使用setRequestHeader()来添加HTTP头。然后在send()方法中规定您希望发送的数据:

    xmlhttp.open(“POST”,”demo.Java”,true);

    xmlhttp.setRequestHeader(“Content-type”,”application/x-www-form-urlencoded”);//向请求添加HTTP头     xmlhttp.send(“name=jaovo&age=20”);

异步与同步 :

    同步-True或False AJAX指的是异步JavaScript和XML(Asynchronous JavaScript and XML) XMLHttpRequest对象如果要勇于AJAX的话,其open()方法的async参数必须设置为true: xmlhttp.open(“GET”,”demo.Java”,true);

    

    通过AJAX,JavaScript无需等待服务器的响应,而是:

1.在等待服务器响应时执行其他脚本

2.当响应就绪后对响应进行处理

Async=true

当使用async=true时,请规定在响应处于onreadystatechange事件中的就绪状态时执行的函数:

    xmlhttp.onreadystatechange=function(){

    if(xmlhttp.readyState==4 && xmlhttp.status==200){                                    document.getElementById(“mydiv”).innerHTML=xmlhttp.responseText;

    }

    }

    xmlhttp.open(“GET”,”test1.txt”,true);

    xmlhttp.send();

当使用async=false时,请不要编写onreadystatechange函数-把代码放到send()语句后面即可:

    xmlhttp.open(“GET”,”test1.txt”,false);

    xmlhttp.send();

    document.getElementById(“mydiv”).innerHTML=xmlhttp.responseText;

MLHttpRequest对象的三个重要的属性:

    1.onreadystatechange 存储函数(或函数名),每当readyState属性改变时,就会调用该函数。

    2.readyState 存有XMLHttpRequest的状态。从0到4发生变化。

      0:请求未初始化

      1:服务器连接已建立

      2:请求已接收

      3:请求处理中

      4:请求已完成,且响应已就绪

    3.status

      200:OK

      404:未找到页面

    

    4.使用Callback

      callback函数是一种以参数形式传递给另一个函数的函数。

Callback函数 :

    <script type="text/javascript">

    var xmlhttp;

    function loadXMLDoc(url,cfunc) {

    if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new          XMLHttpRequest();

    } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

    }

    xmlhttp.onreadystatechange=cfunc;

    xmlhttp.open("GET",url,true); xmlhttp.send();

    }

    </script>

    unction myFunction() {

    loadXMLDoc("/ajax/test1.txt",function() {

    if (xmlhttp.readyState==4 && xmlhttp.status==200) {                             document.getElementById("myDiv").innerHTML=xmlhttp.responseText;

    }

    });

    }

AJAX+Java请求流程 :

    1.AJAX使用open函数以GET或者POST方式,使用send函数来向Java发送请求;

    2.请求结果readyState的改变,触发事件onreadystatechange;

    3.判断readyState==4并且status==200,代表请求成功,并有响应;

    4.响应的值是Java脚本输出的内容,这个内容在JS端使用responseText来接收,并进行相关处理。

    

Ajax的优点:

    1.最大的一点是页面无刷新,给用户的体验非常好。

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

    3.ajax的原则是“按需取数据”,最大程度的减少冗余请求,减少服务器的负荷。

Ajax的缺点:

    1.破坏浏览器后退按钮的正常行为。在动态更新页面后,用户无法回到前一个页面的状态.

    2.使用 JavaScript作 Ajax的引擎,JavaScript的兼容性和   Debug本身就让人头大。

            

时间: 2024-10-29 19:09:59

谈谈Ajax技术的相关文章

ajax技术实现登录判断用户名是否重复以及利用xml实现二级下拉框联动

今天学了ajax技术,特地在此写下来作为复习. 一.什么是ajax? 客户端(特指PC浏览器)与服务器,可以在[不必刷新整个浏览器]的情况下,与服务器进行异步通讯的技术  即,AJAX是一个[局部刷新]的[异步]通讯技术, 说白了就是局部刷新. 二.ajax的原理如下图 附上ajax与服务器之间的几种状态,但 4是所有浏览器都支持的的 三.ajax包含的技术如下图 四.ajax开发步骤 步一:创建ajax对象,例如:ajax = createAjax(); 步二:开启异步对象:例如:ajax.o

jQuery学习笔记10:Ajax技术

jQuery 库拥有完整的 Ajax 兼容套件.其中的函数和方法允许我们在不刷新浏览器的情况下从服务器加载数据. jQuery 采用了三层封装:最底层的封装方法为:$.ajax(),而通过这层封装了第二层有三种方法:.load().$.get()和$.post(),最高层是$.getScript()和$.getJSON()方法. 函数 描述 jQuery.ajax() 执行异步 HTTP (Ajax) 请求. .ajaxComplete() 当 Ajax 请求完成时注册要调用的处理程序.这是一个

Web应用程序开发,基于Ajax技术的JavaScript树形控件

感谢http://www.cnblogs.com/dgrew/p/3181769.html#undefined 在Web应用程序开发领域,基于Ajax技术的JavaScript树形控件已经被广泛使用,它用来在Html页面上展现具有层次结构的数据项. 目前市场上常见的JavaScript框架及组件库中均包含自己的树形控件,例如jQuery.Dojo.YUI.Ext JS等,还有一些独立的树形控件,例如dhtmlxTree等,这些树形控件完美的解决了层次数据的展示问题. 展示离不开数据,树形控件主要

在 PHP 中结合 Ajax 技术进行图片上传

前面几则日志中讲述了在 PHP 中上传文件,相信大家对 PHP 中如何进行文件上传已经初步掌握.本文来继续探讨在 PHP 中上传文件的技术,不同的是,本次上传将仅限于图片文件的上传,并且将采用 Ajax 技术. 本例将要实现这样的效果:当用户选择图片,开始上传后,后台上传完成时,随即会显示到当前页面.由于,从开始上传到上传完成,再到图片显示均在一个页面上 完成(从表面上看).所以使用 Ajax 技术是必须的.但如何使用这些操作在一个页面上来完成呢?考虑到这样的情况,当文件开始上传后,便开始打开

Ajax技术详解

Ajax技术:Ajax描述了一种主要使用脚本(JS)操纵HTTP的web应用架构,它的主要特点是使用脚本操纵HTTP和web服务器进行数据交换,不会导致页面重载.Ajax的核心是JS的XMLHttpRequest构造函数,它定义了用脚本操纵HTTP的API. XMLHttpRequest构造函数:每new一个XMLHttpRequest构造函数返回的对象都表示一个独立的请求/响应对,并且这个对象的属性和方法允许指定请求细节和提取响应数据.需要注意的是当你重用已存在的XMLHttpRequest,

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

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

对AJAX技术的理解,创建,与应用

ajax的理解: 1. ajax是介于客户端与服务器端之间的一个机制,但这一机制是在前台的,利用前台的闲置功能,来进行前台与后台的数据交流,以达到增强用户体检,减少服务器压力,更有效的利用带宽的效果. 2. ajax是采用异步交互的机制. 3. ajax使用于页面局部刷新,按需求验证和取数据. 4. ajax缺点便是浏览器的兼容问题麻烦,与嵌入式移动端对ajax的支持不太理想. 5.ajax已经是一种web开发必备的技术,而且其优点远大于缺点. 6.ajax涉及到的主要技术有7种其中Javasc

Ajax技术基础

对于AJAX技术,感觉以前虽然用过但是对于AJAX没有一个清晰的认识,今天专门总结一下,希望掌握的更加牢固吧! 一,什么是AJAX? AJAX通常被叫做异步刷新技术,其实他也是可以同步的.主要都用于异步访问服务器. 在通常情况下,我们的页面都是静态的,如果想要与服务器交互,我们可以通过一系列的手段来向服务器发送请求,并将返回的信息展示在页面上,但是通常需要刷新页面,如果不停的请求就需要不停的刷新整个页面,这对于客户而言带来很大的麻烦,尤其是网速很慢的情况,本来只需要更改页面一小点地方的信息,却要

JQuery Ajax技术知识

=======================================JQuery Ajax技术知识=========================================== 1.serializeArray()通过序列化表单值来创建对象数组(名称和值). 可以选择一个或多个表单元素(比如 input 及/或 textarea),或者 form 元素本身. 语法: $(selector).serializeArray() 返回值: 注意:此方法返回的是 JSON 对象而非 J