Ajax里的onreadystatechange的作用

2016-02-19 19:20 82 1 收藏

get新技能是需要付出行动的,即使看得再多也还是要动手试一试。今天图老师小编跟大家分享的是Ajax里的onreadystatechange的作用,一起来学习了解下吧!

【 tulaoshi.com - Web开发 】

发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态,XMLHttpRequest对象提供了onreadyStateChange事件实现这一功能。这类似于回调函数的做法。

onreadyStateChange事件可指定一个事件处理函数来处理XMLHttpRequest对象的执行结果,如:

ajaxObj=createAjaxObject();
var url="/MyTodoes/FetchText?id="+id;
ajaxObj.open("Get",url,true);
ajaxObj.onreadyStateChange=changeTabCallBack;
ajaxObj.send(null);

onreadyStateChange事件是在readyState属性发生改变时触发的,readyState的值表示了当前请求的状态,在事件处理程序中可以根据这个值来进行不同的处理。 readyState有五种可取值0:尚未初始化,1:正在加载,2:加载完毕,3:正在处理;4:处理完毕。一旦readyState属性的值变成了4,就可以从服务器返回的响应数据进行访问了。

通常在事件中判断readyState的值是在请求完毕时才做处理,如:

function changeTabCallBack(){
if(ajaxObj.readyState==4){
// 下一步验证
}
}

Status存储了服务器端返回的Http请求响应代码,它表示请求的处理结果,常见响应代码的含义如右。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

在Ajax开发中,最常用就是200这个响应码,代码如下:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

function changeTabCallBack(){
if(ajaxObj.readyState==4){
if(ajaxObj.status==200){
// 服务端返回了正确数据,开始响应处理
}
}
}
Http状态码 含义
200 请求成功
202 请求被接受但处理未完成
400 错误请求
404 请求资源未找到
500 内部服务器错误

来源:https://www.tulaoshi.com/n/20160219/1620744.html

延伸阅读
AJAX介绍 AJAX 关键词: javascript脚本和可扩展标记语言(XML)  WEB浏览器技术  开放式WEB标准  浏览器以及独立平台  更好更快的网络应用程序  XML以及HTTP请求  AJAX = 异步JavaScript和可扩展标记语言 AJAX是一种运用JavaScript和可扩展标记...
标签: Web开发
下面是我的一个例子:AJAXDemo.html html head titleAJAX测试!/title scripttype="text/javascript"src="ajaxrequest.js"/script scripttype="text/javascript" varajax=newAJAXRequest(); functionshowHello(){ ajax.get("helloworld.asp",mycallback); } functionmycallback(obj){ alert(unescape(obj.responseText)); } /script /...
标签: 九里香 花卉
抗生育作用 给妊娠5~6d小鼠腹腔注射九里香皮煎荆10g/kg,有明显的抗着床作用。若给妊娠7~8d的小鼠分别腹腔注射不同剂量的九里香根茎、皮、枝、叶和术质部煎荆或分离物(V~IX)坞有明显的抗生育作用,以皮分离物的作用效果最佳,而且腹腔注射效果明显,口服则无效,皮煎荆对未孕或已孕小鼠离体子宫有明显兴奋作用。小鼠腹腔注射2.08mg/kg...
标签: Web开发
script type="text/javascript" language="javascript"     var http_request = false;     function makeRequest(url) {         http_request = false;         if (window.XMLHttpRequest) { // Mozilla, Safari,...   ...
标签: Web开发
代码如下: % response.Expires=-1 response.CacheControl="no-cache" % !--#include file="../../conn/conn.asp"-- !--#include file="../psw.asp"-- !--#include file="../../functions/dofunction.asp"-- !--#include file="../../functions/showfunction.asp"-- !--#include file="../../fqdb/admin/website.asp"-- % cmd = che...

经验教程

34

收藏

11
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部