AJAX核心技术

一. JavaScript脚本语言

JavaScript只能使用其自身有的内部对象和由其他编程语言创建的对象,它不能自定义对象,所以它叫基于对象的编程语言。JavaScript是一门弱变量语言,它没有严格意义上的变量名称,而且在使用变量前可以不进行声明。

范例: 演示通过JavaScript脚本语言添加一个动态数字时钟,在一个文本框中显示当前的时间信息。代码如下:
Clock.html

<html>
  <head>
    <title>动态时钟</title>
    <script>
	        function displayTime(){
	                 var today = new Date();//定义日期对象
	                 var hours = today.getHours();//从日期对象中获得小时信息
	                 var minutes = today.getMinutes();//从日期对象中获得分钟信息
	                 var seconds = today.getSeconds();//从日期对象中获得秒钟信息
	                 minutes = fixTime(minutes);//对小于10的数字则在该数字前加一个0
	                 seconds = fixTime(seconds);//对小于10的数字则在该数字前加一个0
	                 var the_time = hours + ":" + minutes + ":" + seconds;//将时间字符串组合在一起
	                 window.document.the_form.showTime.value = the_time;//将时间设置到文本框中
	                 the_timeout = setTimeout('displayTime();',500);//每半秒钟执行一次该函数
	        }
	        
               function fixTime(the_time){
	               if(the_time < 10){
	                   the_time = "0" + the_time;//在数字前面加0
	               }
	               return the_time;
	        }
	</script>
  </head>
  
  <body onload = "dispalyTime()">
         <form name = "the_form">
               <font face = "宋体">当前时间:<input type = "text" name = "showTime" size = "16"></font>
         </form>
  </body>
</html>
  window.document.the_form.showTime.value = the_time;//将时间设置到文本框中

表示通过JavaScript的window对象中的document对象找到用来显示时间的文本框,并设置其为组合的时间信息。

 the_timeout = setTimeout('displayTime();',500);//每半秒钟执行一次该函数

表示通过window对象中的setTimeout函数来设置displayTime函数每500ms执行一次。

 onload = "dispalyTime()"

表示文档加载完成后即自动运行displayTime()函数,从而显示时钟。

二.XMLHttpRequest对象

XMLHttpRequest最大的用处是更新网页的部分内容而不需要刷新整个页面。下面将分别介绍如何创建XMLHttpRequest对象及其属性

2.1创建XMLHttpRequest对象

在IE浏览器的语法如下:

 var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

在非IE浏览器的语法如下:

var xmlhttp = new XMLHttpRequest();

2.2 readyState属性

当XMLHttpRequest对象把一个HTTP请求发送到服务器时将经历若干种状态。其中readyState属性是用来返回XMLHttpRequest对象的当前状态,readyState属性列表值如下表所示:

readyState属性值说明
0未初始化状态。当前已经创建了一个XMLHttpRequest对象,但是没有初始化
1发送状态。代码已经调用XMLHttpRequest open()方法并且XMLHttpRequest已经准备好把一个请求发送给服务器
2发送状态。已通过send()方法把一个请求发送到服务器,但是还没有收到一个响应
3正在接收状态 。已接收到HTTP响应头部信息,但是消息体部分还没有完全接受结束
4已加载状态。响应已经被完全接收

2.3 onreadystatechange事件

onreadystatechange事件是ReadyState属性值发生变化时所要执行的操作 。在使用过程中,通常将处理函数名称赋予onreadystatechange来为XMLHttpRequest对象指定事件处理,在事件处理函数中根据readyState的状态值进行相应的处理

范例: 演示为onreadystatechange事件添加事件处理代码
Testonreadystatechange.html

xmlHttp.onreadystatechange = mystatechange; //设置onreadystatechange事件处理函数
function mystatechange() {
     if(xmlHttp.readState == 4){
        alert("success!");
     }
 }

2.4 responseText属性

responseText包含了客户端收到的响应文本内容。当readyState属性值为0、1,responseText属性值为一个空字符串。当readyState属性值为3时,responseText属性值中包含还未响应完成的信息。当readyState属性值为4时,responseText属性值中包含了完整的响应信息。

2.5 responseXML属性

responseXML用于当完全接收HTTP响应时描述XML响应。此时,Content-Type头部指定MIME类型必须为text/xml、application/xml或以xml结尾。如果不指定这些媒体类型,则responseXML的值为null。只要readyState的值不为4,responseXML的值为null。responseXML属性值是一个文档接口类型的对象,用来描述被分析的文档。如果文档不能被分析,那么responseXML的值为null。

2.6 status属性

status属性用来描述HTTP状态代码,只有当readyState的值为3或4时,status属性才可用。否则,试图存取status属性将引发一个异常。

2.7 statusText属性

status属性用来描述HTTP状态代码文本,只有当readyState属性的值为3或4时,statusText属性才可用。否则,试图存取statusText将引发一个异常。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript核心技术 简介: 《JavaScript核心技术》对于各种浏览器、浏览器版本、JavaScript版本、DOM版本的介绍,有助于我们理解所遇到的各种新旧代码,使我们能够对这些代码做出正确的取舍。《JavaScript核心技术》还提供了一些使用JavaScript的最佳实践。无论是新手还是老手,这些如何正确使用JavaScript的经验都能帮助他们养成良好的编程习惯。《JavaScript核心技术》还介绍了一些调试和开发JavaScript的工具,这些工具无疑能够提高我们的开发效率。 《JavaScript核心技术》最后对于Ajax和几个流行的JavaScript库的介绍,无疑会开阔我们在JavaScript使用上的思路。 《JavaScript核心技术》是一本真正意义上的“新书”,不仅介绍了最新的JavaScript知识和方向,还完全覆盖了当今Web开发中关于JavaScript的所有重要话题,它使用了大量实例代码,图文并茂地讲解了使用JavaScript的各个层次和领域的内容。它不是一本参考手册,但却是一本值得拥有的教程。 JavaScript核心技术 目录: 前言 第1章JavaScript初探 1.1规范和实现相互交织的历史 1.2跨浏览器的不兼容性和其他常见的JavaScript传说 1.3你能用JavaScript来做什么 1.4JavaScript初探:“HelloWorld!” 1.5JavaScript沙箱 1.6可访问性和JavaScript的最佳实践 第2章JavaScript数据类型与变量 2.1变量的标识 2.2作用域 2.3简单类型 2.4常量:有名称但不改变 2.5习题 第3章运算符和语句 3.1JavaScript语句的格式 3.2简单语句 3.3条件语句和程序流 3.4条件运算符 3.5逻辑运算符 3.6高级语句:循环语句 3.7习题 第4章JavaScript对象 4.1对象构造函数 4.2Number对象 4.3String对象 4.4正则表达式与RegExp 4.5有专门用途的对象:Date和Math 4.6JavaScript数组 4.7关联数组:不是数组的数组 4.8习题 第5章函数 5.1定义函数:细数所有方式 5.2回调函数 5.3函数和递归 5.4嵌套函数、函数闭包和内存泄漏 5.5作为对象的函数 5.6习题 第6章捕捉事件 6.1O级DOM上的事件句柄 6.22级DOM上的事件句柄 6.3产生事件 6.4习题 第7章表单与即时验证 7.1访问表单 7.2把事件附加在表单上:不同的方法 7.3选择列表 7.4单选按钮和复选框 7.5输入字段和JiT正则表达式 7.6习题 第8章沙箱及之上的cookie、连通性和隐私 第9章基础浏览器对象 第10章DOM:文档对象模型 第11章创建定制的JavaScript对象 第12章构建动态网页:在脚本中加入样式 第13章使用Ajax 第14章好消息:生动的程序库!令人惊异的Web服务!有趣的API! 附录习题答案
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值