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

AJAX基础教程读书笔记

    博客分类:
  • AJAX
阅读更多
第一.XMLHttpRequest对象:
1.Sample:创建一个XMLHttpRequest对象的实例:
var xmlHttp;   //定义全局变量来保存对对象的引用
function createXMLHttpRequest(){
    if(window.ActiveXObject){  //判断浏览器是否为IE
       xmlHttp=new XMLHttpRequest("Microsoft.XMLHTTP");
    }
    else if(window.XMLHttpRequest){   //判断非IE的浏览器是否支持xmlhttprquest
       xmlHttp=new XMLHttpRequest();                                
    }
}
//IE浏览器肯定支持xmlhttprequest,因为其是存在于ActiveX中

2.XmlHttpRequest对象的方法:
1>void open(String method,String url,boolean asynch,String username,String password):表示建立对服务器的调用.后三个参数为可选参数;mehod可以为GET,POST,PUT; url可以为绝对或相对地址; asynch默认值为True,表示异步,当为false时处理就会等待,直到从服务器响应为止;username跟password为用户指定特定的用户名跟密码.
2>void send(content):这个方法具体向服务器发出请求,如声明为异步则会立即返回此方法,否则它会等待直到接受相应为止.
3>void sendRequestHeader(String header,String value):此方法为HTTP请求中一个给定的首部设置值,header表示设置的首部,value表示要设置的值.
注意:此方法必须要在void open()方法之后才能调用.
4>void abort():停止请求.
5>String getAllResponseHeaders():返回一个串包含所有的http的首部(Content-Length,Date,URI)
6>String getResponseHeaders(String header):header表示指定首部值.
7>onreadystatechange():每个事件改变时都会触发事件处理器,通常会调用一个JS函数.
8>readyState:=0:未初始化;=1:正在加载;=2:已加载;=3:交互中;=4:完成
9>states:HTTP状态码.=200:OK.=404:未找到.

2.Sample:
交互实例具体步骤:
1><input type="text" id="email" name="email" onblur="validateEmail()">
2>创建XMLHttpRequest对象的一个实例:
var xmlHttp;
function validateEmail(){
  var email=document.getElementById("email");
  var url="validate?email="+escape(email.value);
  if(window.ActiveXObject){
     xmlHttp=new XMLHttpRequest("Microsoft.XMLHttpRequest");
  }else if(window.XMLHttpRequest){
     xmlHttp=new XMLHttpRequest();
  }      
  xmlHttp.open("GET",url);
  xmlHttp.onreadystatechange()=callback;
  xmlHttp.send(null);
}

3>调Servlet等服务器端.
4>服务器端完成业务逻辑.
5>请求返回浏览器.设置Content-Type为:text/xml.还要设置一下首部以使浏览器不会在本地缓存结果:response.setHeader("Cache-Control","no-cache");response.setHeader("progma","no-cache");
6>XMLHttpRequest对象配置为处理返回时要调用callback():这个函数会检查readystate属性,然后查看服务器返回的状态码,如果正常,callback()将会做些有意义的事情.例如:
function callback(){
  if(xmlHttp.readystate==4){
     if(xmlHttp.state==200){
        //do sth in here. 
     }
  } 
}


3.GET与POST的区别:
GET:请求为幂等(多个请求返回相同的结果)时选用.会限制净荷的大小.(eg:URL的长度)
POST:当改变服务器上的状态时.不会限制净荷大小.
一般,可以用GET从服务器上取数据,但是要避免调用服务器上的状态.
如果选择的方法为POST,需要比GET多一步操作:设置XMLHttpRequest对象的首部:
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

4.DOM说明:
DOM是一个W3C规约,可以以一种独立于平台和语言的方式.DOM的设计是以对象管理组织(OMG)的规约为基础,因此可以用于任何语言.DOM实际上是以面向对象方式描述的面向对象模型.

第二,与服务器的通信:
1.XMLHttpRequest对象提供了两个处理服务器响应:1>responseText(将相应提供为一个串); 2>responseXML(将相应提供为一个XML对象)
2.利用HTML的innerHTML属性跟responseText结合使用,服务器就能"生产"出HTML内容,由浏览器利用innerHTML属性来"消费".
Sample:
innerHTML.html文件:
<html>
<head>
<script type="text/javascript">
//第一步:定义XMLHttpRequest对象;
var xmlHttp;
function createXMLHttpRequest(){
   if(window.ActiveXObject){
      xmlHttp=new XMLHttpRequest("Microsoft.xmlHTTP");
   }
   if(window.XMLHttpRequest){
      xmlHttp=new XMLHttpRequest();
   }
}

function startRequest(){
//第二步:调用刚才创建的实例对象;
   createXMLHttpRequest();  
//第三步:告诉XMLHttpRequest对象handleStateChange函数会处理XMLHttpRequest对象状态的改变,为此把对象的onreadyStatechange属性设置为指向JS函数的指针.
   xmlHttp.onreadystatechange=handleStateChange;
//第四步:指定请求的属性
   xmlHttp.open("GET","innerHTML.xml",true);
//第五步:将请求发送给服务器
   xmlHttp.send(null);
}

function handleStateChange(){
   if(xmlHttp.readyState==4){
      if(xmlHttp.status==200){
         document.getElementById("results").<color=red>innerHTML</color>=xmlHttp.responseText;
      }
   }
}
</script>
</head>
<body>
    <form action="#">
        <input type="button" value="Search for Today's Activities" onclick="startRequest();"/>
    </form>
    <div id="results"></div>
</body>
</html>

innerHTML.xml文件:
<table border=1>
<trbody>
<tr>
<th>Active Name</th><th>Location</th><th>Time</th>
</tr>
<tr>
<td>watersking</td><td>Dock #</td><td>9:00 AM</td>
</tr>
<tr>
<td>Volleyball</td><td>East Count</td><td>11:00 AM</td>
</tr>
<tr>
<td>hikings</td><td>Trails 3</td><td>2:00 PM</td>
</tr>
</trbody>
</table>
分享到:
评论

相关推荐

    韩顺平Ajax笔记+源码+ppt

    然后,通过阅读笔记理解Ajax的API和方法,如`open()`、`send()`、`onreadystatechange`等。接着,结合源代码实践,尝试编写简单的Ajax请求。最后,通过PPT巩固理论知识,理解Ajax在实际项目中的应用。 总的来说,...

    Ajax学习笔记.zip

    Ajax,全称Asynchronous JavaScript and XML,是一种在无需重新加载整个网页的情况下,能够更新部分网页的...Ajax.pdf和Ajax2.pdf很可能是关于这些概念的详细教程,包含了实例和实践指导,对于深入学习Ajax非常有帮助。

    AJax入门提高教程文档

    **一、Ajax基础** 1. **XMLHttpRequest对象**:Ajax的核心是XMLHttpRequest对象,它允许JavaScript在后台与服务器进行通信。通过创建XMLHttpRequest实例,我们可以发送HTTP请求并接收响应。 2. **HTTP请求方法**:...

    Ajax的学习笔记

    本压缩包中的"AJAX学习笔记.doc"文档,可能包含了Ajax的基础概念、使用示例及进阶技巧,适合初学者参考学习。同时,推荐以下在线资源: - [MDN Web文档](https://developer.mozilla.org/zh-CN/docs/AJAX):详尽的...

    ajax资源

    9. **JavaScript.pdf**:基础的JavaScript语言教程,对于理解和使用Ajax至关重要,因为Ajax主要依赖JavaScript来实现异步通信和页面动态更新。 10. **ShaleRemoting.pdf**:与ShaleRemoting_speakernoted.pdf相似,...

    Ajax-dwr基础学习资料

    **Ajax-dwr基础学习资料** Ajax (Asynchronous JavaScript and XML) 是一种在无需重新加载整个网页的情况下更新部分网页的技术,而Direct Web Remoting (DWR) 是一个Java库,它使得在JavaScript和Java之间进行交互...

    Java从零基础到精通详细笔记高清完整PDF版

    ### Unix/Linux基础命令 Unix/Linux系统是一个多用户多任务的操作...通过循序渐进的视频教程,学习者可以更好地理解Java编程的基础知识,从而为进一步学习Web开发、数据库交互、框架使用等高级主题打下坚实的基础。

    李炎恢JavaScript-pdf文档笔记

    《李炎恢JavaScript-pdf文档笔记》是一份详细记录了JavaScript编程语言基础知识至高级应用的教程,涵盖了从第一章到第三十四章的丰富内容。这个压缩包包含了一份PDF文档,旨在帮助学习者深入理解并掌握JavaScript的...

    韩顺平笔记.zip

    通过阅读《韩顺平笔记》,学习者可以系统地学习这四大技术领域的基础知识,同时也能获取到韩顺平老师的实战经验和技巧。无论你是初学者还是有一定经验的开发者,这份笔记都能提供宝贵的参考,帮助你提升技术水平,...

    前端入门和进阶学习笔记超详细的图文教程

    本教程"前端入门和进阶学习笔记超详细的图文教程"旨在帮助初学者从零基础开始,逐步掌握JavaScript,并进一步提升至全栈工程师的水平。 一、JavaScript基础 JavaScript是一种解释型的、基于原型的对象导向语言,它...

    extjs+韩顺平—玩转oracle视频教程笔记

    通过阅读这份教程,你可以掌握EXTJS的开发流程和最佳实践。 "韩顺平—玩转oracle视频教程笔记.doc"文档很可能是对视频课程的总结和笔记,包含关键知识点和案例分析,是你复习和巩固Oracle知识的好帮手。它可能包括...

    JavaWeb入门学习笔记.chm

    此文档为传智播客老师JavaWeb入门视频的笔记,其中包含...3.笔记内容包括:HTML、CSS、JavaScript、XML、Java基础加强、Servlet、Request和Response、Cookie和Session、JSP、JSTL、MySQL、JDBC、ajax、综合案例网上书城

    echarts数据可视化项目教程项目笔记源码

    **ECharts 数据可视化项目教程详解** ECharts 是一个由百度开发的开源JavaScript图表库,它提供了丰富的图表类型,包括柱状图、折线图、饼图等,支持自定义交互和动画效果,广泛应用于Web数据可视化场景。在这个...

    狂神说笔记,个人觉得不赖

    3. "1、JavaSE:Java入门.pdf":这是针对Java初学者的基础教程,可能涉及Java环境的搭建、Hello World程序、变量、数据类型、运算符、流程控制语句(如if、for、while)等基础知识。 4. "2、JavaSE:基础语法.pdf...

    菜鸟吧 Web学习完全手册 网页设计工具大全

    XHTML基础教程 CSS基础教程 CSS实验室 XHTML+CSS实践 菜鸟的JavaScript笔记 HTML DOM简介 JavaScript对象笔记 JavaScript正则表达式 JavaScript面向对象编程 菜鸟的Ajax笔记 菜鸟的jQuery笔记 JavaScript...

    DWR 教程 中文API DWR.xml配置文件说明 DWR学习笔记

    首先,"DWR学习笔记"提供了对DWR基础概念、核心功能以及实际应用的概述。这些笔记可能包含了DWR的基本架构,如它如何通过AJAX技术实现实时的Web交互,以及如何创建和调用服务器端的Java方法。 "DWR中文API"是DWR库...

    韩顺平html+css+javascript笔记完整版

    通过阅读和理解这些笔记,学习者能够深化对HTML结构的理解,掌握CSS设计技巧,以及运用JavaScript实现网页动态功能。 【学习资源】 提供的压缩包文件中包含了`javascript学习笔记.docx`、`html+css+javascript学习...

    Gwt-Ext学习笔记之基础篇- www.hxiaseo.cn技术网站

    标题中的"Gwt-Ext学习笔记之基础篇"指的是关于Gwt-Ext的初级教程,这是一种基于Google Web Toolkit (GWT) 的扩展库,用于构建富互联网应用程序(RIA)。Gwt-Ext提供了丰富的用户界面组件,使得开发者可以利用Java语言...

    跟李彦恢学javascript 电子书和课堂笔记1-15章.rar

    配合电子书阅读,作者还提供了课堂笔记和代码示例,这些资料可以帮助读者更好地理解和实践书中所学。通过观看视频教程并按照笔记动手实践,可以加深理解,巩固技能,确保学习效果更为扎实。 总之,《跟李彦恢学...

    jQuery技术三合一教程(电子书 + 理论总结+常用效果源码实践)

    理论篇:对选择器、事件、常用函数方法、外观效果、查找筛选、文档处理、Ajax处理的基础知识,以及《锋利的JQUERY》读书笔记精华完整版。 实践篇:Tab菜单栏源码、手风琴菜单源码、圆角效果源码、网页弹出对话框...

Global site tag (gtag.js) - Google Analytics