1.1、Ajax的定义

  Ajax:(Asynchronous JavaScript And XML)指异步 JavaScript 及 XML
  不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术,是基于JavaScript、XML、HTML、CSS新用法。

  Ajax:只刷新局部页面的技术
  JavaScript:更新局部的网页
  XML:一般用于请求数据和响应数据的封装
  XMLHttpRequest对象:发送请求到服务器并获得返回结果
  CSS:美化页面样式
  异步:发送请求后不等返回结果,由回调函数处理结果

  1.2、Ajax交互模型

    JavaWeb之Ajax

  传统Web交互方式——同步

    JavaWeb之Ajax

  AJAX支持Web交互方式——异步

    JavaWeb之Ajax

二、AJAX在google中的应用

  2.1、Google Suggest

    JavaWeb之Ajax

  2.2、Gmail  

    JavaWeb之Ajax

  2.3、Google Map

    JavaWeb之Ajax

三、XMLHttpRequest对象

  JavaScript中XMLHttpRequest对象是整个Ajax技术的核心,它提供了异步发送请求的能力,

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

  3.1、构造方法

  不同浏览器,甚至相同浏览器不同版本,获取该对象的方式都有所不同。

  为了应对所有的现代浏览器,包括 IE5 和 IE6,请检查浏览器是否支持 XMLHttpRequest 对象。如果支持,则创建 XMLHttpRequest 对象。如果不支持,则创建 ActiveXObject :

1 var xmlhttp;
2 if (window.XMLHttpRequest)
3   {// code for IE7+, Firefox, Chrome, Opera, Safari
4   xmlhttp=new XMLHttpRequest();
5   }
6 else
7   {// code for IE6, IE5
8   xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
9   }

 

  3.2、常用方法    

方法名

说    明

open(method,URL,async)

建立与服务器的连接

method参数指定请求的HTTP方法,典型的值是GETPOST

URL参数指请求的地址

async参数指定是否使用异步请求,其值为truefalse

send(content)

发送请求

content参数指定请求的参数

setRequestHeader(header,value)

设置请求的头信息 

  3.3、常用的属性

    3.3.1、readyState(short类型,只读): XMLHttpRequest的状态信息 

就绪状态码

说    明

0

XMLHttpRequest对象没有完成初始化

即:刚刚创建。

1

XMLHttpRequest对象开始发送请求

调用了open方法,但还没有调用send方法。请求还没有发出

2

XMLHttpRequest对象的请求发送完成

send方法已经调用,数据已经提交到服务器,但没有任何响应

3

XMLHttpRequest对象开始读取响应,还没有结束

收到了所有的响应消息头,但正文还没有完全收到

4

XMLHttpRequest对象读取响应结束

一切都收到了

    3.3.2、status(short类型,只读):HTTP的状态码  

状态码

说    明

200

服务器响应正常

400

无法找到请求的资源

403

没有访问权限

404

访问的资源不存在

500

服务器内部错误

    3.3.3、responseText(String类型,只读):获得响应的文本内容

    3.3.4、responseXML(document类型,只读):获得响应的XML文档对象 documednt

    3.3.5、onreadystatechange:指定回调函数

    当请求被发送到服务器时,我们需要执行一些基于响应的任务。每当 readyState 改变时,就会触发 onreadystatechange 事件。

    readyState 属性存有 XMLHttpRequest 的状态信息。

注:就绪状态是4而且状态码是200,才可以处理服务器数据

  3.4、实例

  Myjs.js文件

function getXMLHttpRequest(){
    var xmlhttp;
     if (window.XMLHttpRequest)
       {// code for IE7+, Firefox, Chrome, Opera, Safari
       xmlhttp=new XMLHttpRequest();
       }
     else
       {// code for IE6, IE5
       xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
       }
    return xmlhttp;
}
View Code

相关文章:

  • 2021-12-29
  • 2021-06-21
  • 2022-12-23
  • 2021-07-21
  • 2022-02-07
  • 2021-12-10
  • 2021-08-12
  • 2022-01-17
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-11
  • 2022-12-23
  • 2021-09-01
  • 2022-02-09
相关资源
相似解决方案