onreadystatechange 事件

onreadystatechange 事件

当请求被发送到服务器时,我们需要执行一些基于响应的任务。

每当 readyState 改变时,就会触发 onreadystatechange 事件。

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

下面是 XMLHttpRequest 对象的三个重要的属性:

属性 描述
onreadystatechange 存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。
readyState

存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。

  • 0: 请求未初始化
  • 1: 服务器连接已建立
  • 2: 请求已接收
  • 3: 请求处理中
  • 4: 请求已完成,且响应已就绪
status

200: "OK"

404: 未找到页面

在 onreadystatechange 事件中,我们规定当服务器响应已做好被处理的准备时所执行的任务。

当 readyState 等于 4 且状态为 200 时,表示响应已就绪:

xmlhttp.onreadystatechange=function(){if (xmlhttp.readyState==4 && xmlhttp.status==200){document.getElementById("xxID").innerHTML=xmlhttp.responseText;}}

注释:onreadystatechange 事件被触发 5 次(0 - 4),对应着 readyState 的每个变化。

使用 Callback 函数

callback 函数是一种以参数形式传递给另一个函数的函数。

如果您的网站上存在多个 AJAX 任务,那么您应该为创建 XMLHttpRequest 对象编写一个标准的函数,并为每个 AJAX 任务调用该函数。

该函数调用应该包含 URL 以及发生 onreadystatechange 事件时执行的任务(每次调用可能不尽相同):

function myFunction()
{
loadXMLDoc("xxx.txt",function(){if (xmlhttp.readyState==4 && xmlhttp.status==200){document.getElementById("xxID").innerHTML=xmlhttp.responseText;}});
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/458487.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Frequent Pattern 挖掘之二(FP Growth算法)(转)

FP树构造 FP Growth算法利用了巧妙的数据结构,大大降低了Aproir挖掘算法的代价,他不需要不断得生成候选项目队列和不断得扫描整个数据库进行比对。为了达到这样的效果,它采用了一种简洁的数据结构,叫做frequent-pattern tree(频繁…

C# 两个类之间传递数据

1、通过全局变量 2、通过构造函数传递参数 3、通过委托实现通过委托例子:WebForm1 向Class1传递参数值: // namespace WebApplication2{public partial class WebForm1 : System.Web.UI.Page{//step1.声明一个委托public delegate void DoSomethingEvent…

可行性研究课后题

题目: 为方便储户,某银行拟开发计算机储蓄管理系统。储户填写的存款单或取款单由银行柜台业务员键入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利息等信息,并印出存款单给储户;如果是取款,系统进…

jQuery语法

jQuery不是W3C标准! jQuery使用CSS选择器来选取元素。 jQuery语法 一、jury语法是为HTML元素的选取编制的,可以对元素执行某些操作。 基础语法是:$(selector).action() .美元符号定义jQuery .选择符(selector)“查…

Sublime 解决目录显示为方块的问题

2019独角兽企业重金招聘Python工程师标准>>> 修改Perferences->Settings-User { "font_face": "Consolas Italic", #传说这个字体比较好看。 "font_size": 15, "ignored_packages": [ "Vintage" ], "dpi…

VS toolTip1控件的使用1

http://blog.csdn.net/Mr_Liyong/article/details/780141381、在工具栏找到“toolTip”控件后拖到窗体后,窗体下方会显示此控件则拖放成功。 2、单击此控件右键选择属性:开始 修改属性。 3、当添加一个TOOLTIP控件后,在WINFORM界面上所有的控…

python 代码片段9

#codingutf-8# 字符串指示符号 r表示raw u表示unicodemystringuthis is unicode!--by print mystring# raw表示告诉解释器不要转换字符串任何字符filerc:\temp\folder\robots.txt print file# 另一个实用raw的地方是正则表达式# 可以在内放任何的字符串,不需要转义&…

【TL】【编码】瞬间移动-百度之星初赛(Astar Round2B)1003-2016.05.22

瞬间移动 Accepts: 1018 Submissions: 3620Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Problem Description有一个无限大的矩形,初始时你在左上角(即第一行第一列),每次你都可以选择一个…

蓝懿IOS委托模式代理模式

今天刘国斌老师讲了有关oc语言里的委托模式(代理模式),通过了一个打地鼠的游戏讲解了委托模式的功能作用,之后连带讲解了协议的书写和使用。 打地鼠功能包括屏幕随机出现地鼠,点击消失,如果不点击5秒后自…

C#调用C++类(以COM组件的形式)

如果想用C#调用C/C写的函数,可以先将C/C的函数写成dll文件,由C#用DllImport的方式来调用,但是这种方法无法调用C写的类,如果想调用C类,可以先把C类封装成COM组件,再由C#来调用。方法如下(以VS20…

Duplicate interface definition for class

在添加文件之后,报 Duplicate interface definition for class 原因是:重复添加文件 仔细检查检查

dom解析xml

为什么80%的码农都做不了架构师?>>> 转载自:http://www.cnblogs.com/shenliang123/archive/2012/05/11/2495252.html 使用eclipse需要手动导入crimson.jar包 org.w3c.dom(java dom)解析XML文档 位于org.w3c.dom操作XML会比较简单&#xff0c…

逃离北上广:你以为回到小城市就非常幸福了吗?

忘记在哪儿看的了。感觉不错,随手发出来。我博客也有更新,底下有留个人博客链接 在过去几年里。“逃离北上广”一直是一个热门短语。拿我自己来说,工作在上海,但又不是上海人。毕业后,就选择租房,首先就为这…

Redefinition of enumerator ios

添加文件之后 报 Redefinition of enumerator iOS 原因是:重复添加文件 仔细检查检查

[WinForm] VS2010发布、打包安装程序(超全超详细)

from: http://blog.csdn.net/y13156556538/article/details/555321841、 在vs2010 选择“新建项目”→“ 其他项目类型”→“ Visual Studio Installer→“安装项目”: (如果是在solution中添加,就直接solution -- 右键 -- 添加project&#…

易货Beta版本发布说明

说明 由于前几天确实比较忙,所以没来得及写发布说明。 功能 我们在beta版本主要加入了以下几个功能: 一:增加了用户的发布界面 二:增加了用户的购买界面 三:使用下拉刷新取代了之前的handler后台更新 四:优…

【译】什么导致了Context泄露:Handler内部类

思考下面代码 1 public class SampleActivity extends Activity { 2 3 private final Handler mLeakyHandler new Handler() { 4 Override 5 public void handleMessage(Message msg) { 6 // ... 7 } 8 } 9 } 如果没有仔细观察,上面的代码…

js基础 one

js忽略空格符和换行符 js严格区分大小写 ;为js的结束符 可以使用{}扩成一个语句组,形成一个block块 通过 \ 实现折行操作 document.write(hello \world); 通过document.write() 向文档书写内容 通过xonsole.log()向控制台写入内容变量 js变量重名会产…

关于.Net中Process和ProcessStartInfor的使用

System.Diagnostics.Process.Start(); 能做什么呢?它主要有以下几个功能:1、打开某个链接网址(弹窗)。2、定位打开某个文件目录。3、打开系统特殊文件夹,如“控制面板”等。那么它是怎么实现这几个功能的呢&#xff1f…

Sublime 的中文乱码问题

Sublime Text 是现在最受欢迎的文本编辑器,没有之一。它非常简洁,而且对各种代码的高亮显示很美观。但是,它默认不支持 GBK、Shift-JIS 等中文、日本编码格式,故打开此类文件会出现乱码。 安装 Package Control 首先要安装一个包控…