博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AJAX问题 XMLHttpRequest.status = 0是什么含义
阅读量:6113 次
发布时间:2019-06-21

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

在调用AJAX的时候遇到了XMLHttpRequest. status为0 的情况http协议里可是没这个状态码的众所周知XMLHttpRequest. Status为HTTP请求状态码一般为1xx-5xx,这个0是什么含义让我觉得很好奇。

XMLHttpRequest 对象的三有个重要的属性

onreadystatechange 

存储函数或函数名每当 readyState 属性改变时就会调用该函数。

readyState

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

0: 请求未初始化

1: 服务器连接已建立

2: 请求已接收

3: 请求处理中

4: 请求已完成且响应已就绪

status 

200: "OK"

404: 未找到页面

 

XMLHttpRequest status = 0 问题

最后翻啊翻啊找啊找啊终于找到一个XMLHttpRequest的说明

The status attribute must return the result of running these steps:

status的值一定会返回运行这些步骤的结果。

1、If the state is UNSENT or OPENED, return 0.如果状态是UNSENT或者OPENED返回0

2、If the error flag is set, return 0.如果错误标签被设置返回0
3、Return the HTTP status code.返回HTTP状态码

 

如果在HTTP返回之前就出现上面两种情况就出现0了。

后来我又查阅到了0 代表本地响应成功。

 

先说两个button一个是url是file:///E:/test2.html另外一个是http://www.baidu.com。第一个button的url访问只是本地打开没有通过服务器自己可以用Wireshark捉包。

应该是xmlhttp自己在模拟因为根本就没通过服务器。本地直接打开而已。OPENED了所以status为0。

 

第二个button的url访问虽然是其他域名抓包是有的但是这是跨域访问了

虽然去访问了应该是浏览器跨域的返回头没有允许所以浏览器阻止Access-Control-Allow-Origin这个属性。所以status为0。

 

转载地址:http://kjjka.baihongyu.com/

你可能感兴趣的文章
JQuery-EasyUI Datagrid数据行鼠标悬停/离开事件(onMouseOver/onMouseOut)
查看>>
并发和并行的区别
查看>>
VC++实现非窗口类中使用定时器的方法
查看>>
.Net 中DataSet和DataTable的 区别与联系
查看>>
Windows 管理
查看>>
HDU 1619 Unidirectional TSP(单向TSP + 路径打印)
查看>>
使用avalon 实现一个订座系统
查看>>
MySQL执行外部sql脚本
查看>>
固态硬盘和机械硬盘的比较和SQLSERVER在两种硬盘上的性能差异
查看>>
java 结束程序进程 代码
查看>>
『摄影欣赏』20幅精美的秋天落叶风景欣赏【组图】
查看>>
基于Oracle的SQL优化(社区万众期待 数据库优化扛鼎巨著)
查看>>
Java I/O 文件加锁,压缩
查看>>
网页实战开发笔记之——最全面的HTML的头部信息介绍
查看>>
IOS 消息机制(NSNotificationCenter)
查看>>
[转载] MATLAB快捷键
查看>>
VS和Eclipse的调试功能哪个更强大?
查看>>
java~springboot~gradle里的docker集成
查看>>
python装饰器1:函数装饰器详解
查看>>
杭电2054
查看>>