博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ajax里的status和readystate
阅读量:7112 次
发布时间:2019-06-28

本文共 1367 字,大约阅读时间需要 4 分钟。

先看ajax封装函数

1   function ajaxFunc(method,url,data,callback) { 2             var xhr; 3             if (XMLHttpRequest) { 4                 xhr = new XMLHttpRequest(); 5             } else { 6                 xhr = new ActiveXobject('Microsoft.XMLHttp') 7             } 8             method = method.toUpperCase(); 9             if(method == 'GET'){10                 xhr.open('GET',url+'?'+data,true);11                 xhr.send();12             }else{13                 xhr.open('POST',url,true);14                 xhr.setRequestHeader('content-type','application/x-www-form-urlencoded');//不设置请求头不行吗????15                 xhr.send(data)16 17             }18    19             xhr.onreadystatechange = function () {//ajax是异步的,所有必须监听xhr的发送请求状态变化20                 if (xhr.readyState == 4) {   //0:open完成 1:send完成 2接受到服务器响应 3解析响应中 4解析完成21                     if (xhr.status == 200) {//404:notfound 500:服务器内部错误 304;取缓存22                         callback(xhr.responseText)23                     }24                 }25             }26         }

 

ajax发送数据后的返回值,为什么要两个状态码都要判断才能够确定responseText是真正的所需数据呢?

readystate:这个是xhr,XMLHttpRequest的实例对象的状态码,表示ajax发送到获取这一过程中所处的不同状态,分别是0到4.

status:是根据http协议,服务器所返回的HTTP头信息代码; 注意的是每次网络请求,可以返回多次这个状态码,每一次xhr的readystate变化,都会返回这种状态码;常见的有200,304.404,500等;

由此可知,单独判断哪一次都不能获取正在的所需数据。

 

转载于:https://www.cnblogs.com/dangdanghepingping/p/10166884.html

你可能感兴趣的文章
Mysql Innodb中的Linux native异步I/O(一) 内存结构的初始化
查看>>
WM Activate Storage Bin Type Search(十四)
查看>>
nim的引用和指针
查看>>
DirectUI: Become windowless
查看>>
蚂蚁金服全面开放AI客服能力,比人工客服效率高出30-60倍
查看>>
Python 数据结构_队列
查看>>
NAS数据迁移初探
查看>>
打破医院围墙 数字化平台之上的想象力
查看>>
《中国人工智能学会通讯》——12.53 知识图谱构建技术
查看>>
Teradata首席分析官Bill Franks:数据分析变革犹如一场工业革命
查看>>
Linux下安装并使用Java开发opencv的配置
查看>>
AdTime: DMC量身定制的企业数据分析师
查看>>
《数字逻辑设计与计算机组成》一2.3 规范表达式
查看>>
借道大数据 互联网基金再探“蓝海”
查看>>
浙江医疗综合体获批 医疗资源也可共享
查看>>
3G/4G调制解调器曝漏洞:可致设备被完全控制
查看>>
“大数据”显然已经成为新一代“网红”
查看>>
你知道你的Mac摄像头正在偷窥你吗?这款工具或许能帮你
查看>>
如何在不增加投入的情况下让你的数据库快上200倍
查看>>
你造吗?开发人都知道这四个安全常识
查看>>