`
java虫
  • 浏览: 536467 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多
一.什么是AJAX
AJAX = 异步JavaScript及XML(Asynchronous JavaScript and XML)
    AJAX不是一种新的编程语言,而是一种用来创建更好更快以及交互性更强的Web应用程序的技术。

优点:
1.通过AJAX,您的JavaScript可使用JavaScript的XMLHttpRequest对象在不重载页面的情况来直接与服务器进行通信,打破了传统的利用HTML表单向服务器GET或POST数据的方式。

2.AJAX在浏览器与Web服务器之间使用异步数据传输(HTTP请求),这样就可使网页从服务器请求少量的信息,而不是整个页面。

3.AJAX可使因特网应用程序更小、更快,更友好。

4.AJAX是一种独立于Web服务器软件的浏览器技术。

5.AJAX基于如下Web标准:JavaScript ,XML ,HTML ,CSS ,在AJAX中使用的Web标准已被良好定义,并被所有的主要浏览器支持。AJAX应用程序独立于浏览器和平台。

二.XMLHttpRequest 对象
通过使用XMLHttpRequest对象,web开发者可以做到在页面已加载后从服务器更新页面.
1.背景:
    在2005年AJAX被Google推广开来(Google Suggest)。Google建议使用XMLHttpRequest对象来创建一种动态性极强的web界面:当您开始在Google的搜索框中输入查询时,JavaScript会向某个服务器发出这些字词,然后服务器会返回一系列的搜索建议。

2.支持的浏览器
XMLHttpRequest对象得到下列浏览器的支持:Internet Explorer 5.0+、Safari 1.2、Mozilla 1.0 / Firefox、Opera 8+以及Netscape 7。

3.XMLHttpRequest对象的三个重要的属性

onreadystatechange属性
onreadystatechange属性存有处理服务器响应的函数。下面的代码定义一个空的函数,可同时对onreadystatechange属性进行设置:

xmlHttp.onreadystatechange=function()
  {
  // 我们需要在这里写一些代码
  }


readyState 属性
readyState 属性存有服务器响应的状态信息。每当readyState改变时,onreadystatechange函数就会被执行。
这是readyState属性可能的值:
状态 描述
0 请求未初始化
1 请求已提出
2 请求已发送
3 请求处理中
4 请求已完成

我们要向这个onreadystatechange函数添加一条If语句,来测试我们的响应响应是否已完成(意味着可获得数据):
xmlHttp.onreadystatechange=function()
  {
  if(xmlHttp.readyState==4)
    {
    // 从服务器的response获得数据
    }
  }


responseText 属性
由服务器返回的数据可以通过responseText属性来取回。

在我们的代码中,我们将把时间文本框的值设置为等于responseText:
xmlHttp.onreadystatechange=function()
  {
  if(xmlHttp.readyState==4)
    {
    document.myForm.time.value=xmlHttp.responseText;
    }


三.如何开发AJAX应用
一个AJAX应用的例子
1.GetXmlHttpObject函数说明
<script type="text/javascript">
function GetXmlHttpObject() ()
 {
 var xmlHttp;
 try
    {
   // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
    }
 catch (e)
    {
  // Internet Explorer 6.0+
   try
      {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      }
   catch (e)
      {
      try
         {
       //Internet Explorer 5.5+
         xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
         }
      catch (e)
         {
         alert("您的浏览器不支持AJAX!");
         return false;
         }
      }
    }
 }
</script>


1)首先声明一个保存XMLHttpRequest对象的xmlTttp变量。

2)然后使用XMLHttp=new XMLHttpRequest()来创建此对象。这条语句针对Firefox、Opera以及Safari浏览器。

3)假如失败,则尝试针对Internet Explorer 6.0+的
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP")


4)假如同时不成功,则尝试针对Internet Explorer 5.5+的
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP")


5)假如这三种方法都不起作用,那么这个用户所使用的浏览器已经太过时了,他或她会看到一个声明此浏览器不支持AJAX的提示.

  注释:上面这些浏览器定制的代码很长,也很复杂。不过,每当您希望创建XMLHttpRequest对象时,这些代码就能派上用场,因此您可以在任何需要使用的时间拷贝粘贴这些代码。上面这些代码兼容所有的主流浏览器:Internet Explorer、Opera、Firefox以及Safari。

2.stateChanged函数
   当xmlHttp.readyState的状态发生变化是激发此函数,将服务器端响应结果写到time文本框里
<script type="text/javascript">
function  stateChanged (){
if(xmlHttp.readyState==4)
        {
         document.myForm.time.value=xmlHttp.responseText;
        }
}</script>


3.ajaxTest函数
  当键盘抬起时激发此函数
<script type="text/javascript">
function ajaxTest ()
{
   xmlHttp=GetXmlHttpObject()
   xmlHttp.onreadystatechange=stateChanged;
   xmlHttp.open("GET",url,true);
   xmlHttp.send(null);
}
</script>

要想把请求发送到服务器,需要使用open()方法和send()方法。
1)open()方法需要三个参数:第一个参数定义发送请求所使用的方法(GET还是POST),第二个参数规定服务器端脚本的URL(向服务器发请求的URL),第三个方法规定应当对请求进行异步地处理。

2)send()方法可将请求送往服务器。


4.页面
<form name="myForm">
用户: <input type="text" name="username"  onkeyup="ajaxTest();" />
时间: <input type="text" name="time" />
</form></body>
</html>

到此,就已经完成了一个简单的AJAX的例子。
分享到:
评论
1 楼 倪现军 2012-01-31  
对我很有用,谢啦!

相关推荐

    Ajax学习资料+实例

    【Ajax学习资料+实例】 Ajax,全称Asynchronous JavaScript And XML,是一种在2005年由Google推广的技术,它不是一种新的编程语言,而是一种利用已有标准(如JavaScript和HTTP请求)来创建交互性更强、运行更高效...

    .net中ajax学习解决方案

    "ajax学习"可能是一个包含教程、示例代码和讲解文档的文件或文件夹,而"ajaxѧϰ"可能是教学材料或练习项目,"ѧϰ"在拼音中代表"学习",因此这很可能是针对AJAX技术的学习资料。 以下是一些关于.NET中AJAX技术的...

    jquery、ajax学习电子书.zip

    《jQuery与Ajax学习指南》是一本专为初学者和有一定JavaScript基础的开发者设计的电子书,旨在帮助读者深入理解和熟练掌握这两个在实际Web开发中不可或缺的技术。jQuery是一个强大的JavaScript库,它极大地简化了DOM...

    Ajax 学习笔记,超详细的噢!不看后悔

    在这份超详细的Ajax学习笔记中,我们将深入探讨以下几个关键知识点: 1. **基础概念**:Ajax的核心是JavaScript对象XMLHttpRequest,它使得前端和后端能够进行异步通信。异步意味着用户在等待服务器响应时可以执行...

    ajax学习文档 很好的学习文档 希望大家好好的利用哦

    【Ajax学习文档】深入解析 Ajax,全称Asynchronous JavaScript and XML,是一种在不刷新整个网页的情况下,能够更新部分网页内容的技术。它并不是一项新技术,而是由一系列已存在的技术组合而成,包括JavaScript、...

    ajax 学习笔记源代码

    ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习...

    AJAX学习总结(一)--基于jQuery第一个实例

    在本篇“AJAX学习总结(一)--基于jQuery第一个实例”中,我们将探讨如何使用jQuery库实现异步JavaScript和XML(AJAX)技术。AJAX允许我们在不刷新整个页面的情况下,更新网页的部分内容,从而提供更流畅的用户体验...

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

    - **jQuery 和 Axios**:学习Ajax时,可以了解jQuery的$.ajax()方法和现代JavaScript库Axios,它们都提供了更方便的接口来处理Ajax请求。 在项目中,Ajax常用于实现动态加载、表单提交、实时通讯等功能。随着前端...

    AJAX学习笔记(内含实例)

    AJAX学习笔记。内含Java调用的两个实例,及JavaScript的ajax工具函数,可快速入门,也可当手册使用。个人精心整理,值得收藏。 更多:http://download.csdn.net/user/daillo/all

    掌握Ajax 学习资料pdf

    掌握 Ajax第 1 部分-Ajax 简介 掌握 Ajax第 2 部分-使用 JavaScript 和 Ajax 发出异步请求 掌握 Ajax第 3 部分-Ajax 中的高级请求和响应 掌握 Ajax第 4 部分-利用 DOM 进行 Web 响应 掌握 Ajax第 5 部分-操纵 DOM ...

    ajax学习经典源码

    **Ajax学习经典源码详解** Ajax,全称Asynchronous JavaScript and XML(异步JavaScript和XML),是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使得网页实现...

    ajax学习开发手册

    在《Ajax学习开发手册》中,通常会涵盖以下关键知识点: 1. **基础概念**: - **异步通信**:Ajax的核心是JavaScript的XMLHttpRequest对象,它允许浏览器在不刷新整个页面的情况下与服务器通信。 - **请求与响应*...

    Prototype Ajax学习范例

    这个"Prototype Ajax学习范例"提供了一系列实例,旨在帮助开发者迅速掌握使用Prototype进行Ajax操作的技巧。 Ajax,即异步JavaScript和XML(Asynchronous JavaScript and XML),是一种在无需刷新整个网页的情况下...

    javascript和ajax学习指南 Learn_JavaScript_and_Ajax_with_w3Schools.zip

    这份"Learn_JavaScript_and_Ajax_with_w3Schools.zip"压缩包包含了一个电子书和一个文本文件,旨在帮助学习者掌握这两种技术的核心概念。 JavaScript,全称ECMAScript,是一种轻量级的解释型编程语言,主要用于网页...

    Ajax学习——DWR的参考书和实用案例学习总结

    **Ajax学习——DWR的参考书和实用案例学习总结** DWR(Direct Web Remoting)是一种优秀的开源框架,专门用于简化Web应用程序中的Ajax(Asynchronous JavaScript and XML)开发。Ajax技术允许网页在不刷新整个页面...

    AJAX学习(包括WCF)

    标题"AJAX学习(包括WCF)"表明了这是一个关于AJAX技术的学习资源,其中还涵盖了WCF(Windows Communication Foundation)的相关内容。AJAX,即Asynchronous JavaScript and XML,是一种在无需重新加载整个网页的...

    一些ajax例子,ajax学习例子

    在本案例中,“一些ajax例子,ajax学习例子”是一个学习和实践Ajax技术的资源集合。 Ajax的核心是JavaScript对象XMLHttpRequest,它允许开发者在后台与服务器进行通信,而不会打断用户的交互。以下是一些关键的Ajax...

    Ajax学习全攻略,很好很全面的学习资料

    Ajax,即Asynchronous JavaScript and XML(异步JavaScript与XML),是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。...通过深入学习和理解Ajax,开发者可以构建出更高效、更流畅的网页应用。

    ajax学习视频

    ajax学习视频,我自己学了感觉还不错,分享给大家一起学习!

Global site tag (gtag.js) - Google Analytics