在调用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。

最新文章

  1. 枚举Enum使用
  2. Django如何搭建服务器
  3. HowTo: Linux Server Change OR Setup The Timezone
  4. 【转载】solr初体验
  5. SQLServer如何快速生成100万条不重复的随机8位数字
  6. Menu bar missing from ClearCase Explorer
  7. 寻找最大数--nyoj题目448
  8. tcpdump抓包并保存成cap文件
  9. 4Sum -- LeetCode
  10. 2012在数据库技术会议上的讲话PPT打包
  11. linux下的权限控制
  12. Jmeter_打印当前时间戳&打印偏移时间戳
  13. css布局:左边定宽、右边自适应
  14. 如何创建自己的composer包
  15. [UE4]Input Key Selector
  16. MD5盐值加密
  17. idea 执行maven 命令
  18. Why Go's Declaration Syntax is better than C++?
  19. Spider Studio 新版本 (20140225) - 设置菜单调整 / 提供JQueryContext布局相关的方法
  20. mysql_config_editor的使用

热门文章

  1. 总结下Mysql分表分库的策略及应用
  2. js 二叉树遍历
  3. js正则表达式之人民币匹配
  4. gulp解决跨域的配置文件
  5. Powershell中显示隐藏文件
  6. java Web三大组件--监听器
  7. 浅谈SnackBar(Toast大兄弟)
  8. Android为TV端助力 转载弩的博客
  9. AlexNet卷积神经网络【前向反馈】
  10. ORA-12514, TNS:listener does not currently know of service requested in connect descriptor案例2