AJAX —— onreadystatechange 事件
当请求被发送到服务器时,我们需要执行一些基于响应的任务。每当 readyState 改变时,就会触发 onreadystatechange 事件。
readyState 属性存有 XMLHttpRequest 的状态信息。下面是 XMLHttpRequest 对象的三个重要的属性:
属性 | 描述 |
---|---|
onreadystatechange | 存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。 |
readyState |
存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。
|
status |
200: "OK" 404: 未找到页面 304 文档的内容(自上次访问以来或者根据请求的条件)并没有改变 |
在 onreadystatechange 事件中,我们规定当服务器响应已做好被处理的准备时所执行的任务。
当 readyState 等于 4 且状态为 200 时,表示响应已就绪:
xmlhttp.onreadystatechange=function(){if (xmlhttp.readyState==4 && xmlhttp.status==200){document.getElementById("myDiv").innerHTML=xmlhttp.responseText;}}
注意:onreadystatechange 事件被触发 5 次(0 - 4),对应着 readyState 的每个变化。
使用 Callback 函数
callback 函数是一种以参数形式传递给另一个函数的函数。如果您的网站上存在多个 AJAX 任务,那么您应该为创建 XMLHttpRequest 对象编写一个标准的函数,并为每个 AJAX 任务调用该函数。该函数调用应该包含 URL 以及发生 onreadystatechange 事件时执行的任务(每次调用可能不尽相同):
function myFunction()
{
loadXMLDoc("ajax_info.txt",function(){if (xmlhttp.readyState==4 && xmlhttp.status==200){document.getElementById("myDiv").innerHTML=xmlhttp.responseText;}});
}
示例
<html>
<head>
<script type="text/javascript">
var xmlhttp;
function loadXMLDoc(url,cfunc)
{
if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safarixmlhttp=new XMLHttpRequest();}
else{// code for IE6, IE5xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}
xmlhttp.onreadystatechange=cfunc;
xmlhttp.open("GET",url,true);
xmlhttp.send();
}
function myFunction()
{
loadXMLDoc("/ajax/test1.txt",function(){if (xmlhttp.readyState==4 && xmlhttp.status==200){document.getElementById("myDiv").innerHTML=xmlhttp.responseText;}});
}
</script>
</head>
<body><div id="myDiv"><h2>Let AJAX change this text</h2></div>
<button type="button" onclick="myFunction()">通过 AJAX 改变内容</button></body>
</html>
AJAX —— onreadystatechange 事件相关推荐
- AJAX - onreadystatechange 事件
AJAX - onreadystatechange 事件 1.当请求被发送到服务器时,我们需要执行一些基于响应的任务. 2.每当 readyState 改变时,就会触发 onreadystatecha ...
- [JavaScript][AJAX]onreadystatechange事件;AJAX含义及组成部分;AJAX工作原理/HTTP工作原理;一个页面从输入url到呈现网页过程;FormData对象;防抖
目录 onreadystatechange事件 AJAX含义及组成部分 AJAX工作原理/HTTP工作原理 一个页面从输入url到呈现网页过程 TCP三次握手图示 渲染引擎渲染网页流程图 编辑 Fo ...
- Ajax onreadystatechange事件
onreadystatechange 事件 当请求被发送到服务器时,我们需要执行一些基于响应的任务. 每当 readyState 改变时,就会触发 onreadystatechange 事件. rea ...
- ajax的4种状态事件,AJAX - onreadystatechange 事件
onreadystatechange 事件 当请求被发送到服务器时,我们需要执行一些基于响应的任务. 每当 readyState 改变时,就会触发 onreadystatechange 事件. rea ...
- IE中同一个url第二次AJAX调用无法触发onreadystatechange事件
如果第二次通过XMLHttpRequest去请求一个URL,则不会触发onreadystatechange时间,虽然从调试插件来看,ie是进行了这次请求. 后来发现,这个是因为在ie下,如果请求的UR ...
- ajax的readyState状态值和onreadystatechange事件,帮助你更好的理解ajax
认识ajax的readyState状态值和onreadystatechange事件 1.readyState是什么? 2.readyState它有多少个值,分别代表什么? 3.认识ajax的onrea ...
- 简单解析Ajax中onreadystatechange事件的readyState属性和status属性
简单解析Ajax中的onreadystatechange 事件 onreadystatechange 事件 当请求被发送到服务器时,我们需要执行一些基于响应的任务.每当 readyState 改变时, ...
- 对ajax中onreadystatechange事件执行流程的理解
对Ajax中onreadystatechange事件执行流程的理解 onreadystatechange 事件 当请求被发送到服务器时,我们需要执行一些基于响应的任务. 每当 readyState 改 ...
- ajax打开后回调事件,[AJAX系列]onreadystatechange事件
onreadystatechange事件: 当请求被发送到服务器时,我们需要执行一些基于响应的任务 每当readyState改变时,就会触发onreadystatechange事件 readyStat ...
最新文章
- 倒计时或按任意键返回首页_客服魔方更新:首页界面大改版,催拍催付操作更方便...
- CSS3中背景的四个新的属性
- 1396: 队列问题(2)
- ng build command not found(ng命令到底是什么鬼)
- 嵌入式开发之davinci--- spi 中的时钟极性CPOL和相位CPHA
- 下半年的电商促销决战,设计师美工准备好了么?宝藏模板拿走!
- 3个要点,教你设计好无限滚屏
- 阿里巴巴为什么选择Apache Flink?
- window 2008 搭建的DHCP服务器
- NOIP2018初赛翻车总结
- “21天好习惯“第一期-1
- 【面经】人人,金山西山居,腾讯互娱,微信,网易游戏offer及面经
- 用Java开发手机Andriod系统Apk软件
- visio中使用连接线连接形状
- 点扩散函数point spread function (PSF)
- Flash CS3:FLV视频短片我来做!
- 日系P2P原理探究(一) — Winny元祖: Freenet
- u盘插入计算机显示被写保护,磁盘提示被写保护怎么办?
- matlab计算图像的曲率半径
- 塞规公差带图_塞规和卡规公差表
热门文章
- Popover 初探
- css 背景色透明且渐变且不影响文字颜色
- 谷歌首款自家品牌手机Pixel“养成记”:专注细节和蓝色
- Android--------使用gson解析json文件
- DevExpress VCL for Delphi 各版本收集下载(最新支持Delphi XE 7)
- Application 简介 常用方式
- 网站服务器如何导入数据库,网站服务器如何导入数据库
- 通过Python调用QQAI做手写OCR识别并导出结果字段到excel里
- ccc.exe文件及ccc.exe病毒清除方法
- 回归问题-Lasso回归