为什么在做ajax时无法获得readyState 3(why can't get readyState 3 when doing a ajax)

我从书中读到,如果我从服务器执行ajax请求,我将从0 - 4获得readyState。这是我的代码:

xhr = new XMLHttpRequest();

console.log(xhr.readyState);

xhr.onreadystatechange = function() {

console.log(xhr.readyState);

};

xhr.open('GET', 'http://localhost:81/data.txt', true);

xhr.send();

我从控制台看到0 1 2 4退出,而3不是,为什么会发生这种情况? 请帮我谢谢〜

i read from books that if i do a ajax request from sever, i will get readyState from 0 - 4. here is my code:

xhr = new XMLHttpRequest();

console.log(xhr.readyState);

xhr.onreadystatechange = function() {

console.log(xhr.readyState);

};

xhr.open('GET', 'http://localhost:81/data.txt', true);

xhr.send();

i see from the console that 0 1 2 4 exit, and 3 is not, why does this happen? pls help me thank you~

原文:https://stackoverflow.com/questions/31203743

更新时间:2019-10-15 22:04

最满意答案

你有一个小的有效载荷,所以RS3过快,响应是NULL

AND / OR

您的回复在Chrome中返回NULL(假设您使用的是Chrome),因为这是Webkit浏览器对RS3的处理方式

尝试设置......

Content-type: text/xml

此外,你需要在Chrome中的RS3中发送除NULL之外的任何响应之前至少推送1k数据,尽管“官方”阈值是256b,它不正确并且Chrome直到大约1k +已经渲染才开始发送。

所有webkit浏览器基本上都是这样

但是没关系,因为你不需要RS3的任何东西。 RS4是你唯一真正需要担心的事情。

You have a small payload so RS3 goes by so fast the response is NULL

AND/OR

Your response is returning NULL in Chrome (Assuming you are using Chrome) because that is what webkit browsers do with RS3

Try setting ...

Content-type: text/xml

Also you need to push at least 1k of data before it sends any response besides NULL in RS3 in Chrome, though the "official" threshold is 256b, its not correct and Chrome doesn't start sending until about 1k+ has been rendered.

This is basically true of all webkit browsers

But it's OK because you don't need anything from RS3. RS4 is the only thing you really need to worry about.

相关问答

如果浏览器实现正确,快速回答是YES。 见这里: http : //www.whatwg.org/specs/web-apps/current-work/multipage/dom.html#current-document-readiness quick answer is YES if browser implementation is correct. See here: http://www.whatwg.org/specs/web-apps/current-work/multipage/

...

request不是全局request ,因此您无法从interpretRequest函数访问它。 改用this 。 request isn't a global, so you can't access it from the interpretRequest function. Use this instead.

你为什么重新发明轮子? 如果您正在使用mootools,那么发出ajax请求非常容易( docs ,指的是最新版本,但在这种情况下请求没有更改): new Request({

url : './gdwcommreply_genxml.php?getfield=idvideo&fieldid=64&parentid=59',

onSuccess : function(responseText, responseXML){

/* here, do stuff with

...

你有一个小的有效载荷,所以RS3过快,响应是NULL AND / OR 您的回复在Chrome中返回NULL(假设您使用的是Chrome),因为这是Webkit浏览器对RS3的处理方式 尝试设置...... Content-type: text/xml

此外,你需要在Chrome中的RS3中发送除NULL之外的任何响应之前至少推送1k数据,尽管“官方”阈值是256b,它不正确并且Chrome直到大约1k +已经渲染才开始发送。 所有webkit浏览器基本上都是这样 但是没关系,因为你不需要RS3

...

在这里找到答案: Ajax请求在真实设备上的cordova / phonegap应用程序失败 最后一个答案适用于我

到config.xml,仍然想知道为什么

不适用。 Found the answer here: Ajax request failing in cordova

...

在webkits开发者论坛上做了大量研究和阅读之后,我终于可以告诉我们发生了什么以及如何在chrome / webkit / safari预防这种情况。 这都是关于连接类型的。 为了使chrome在“ ready state 3 “正确”工作(responseText为非null),我们需要一个不受嗅探的内容类型。 例如,Content-type:text / xml工作正常。 webkit另一个重要事项是,在传输足够的字节之前,它不会呈现推送的数据。 “官方”该treshhold约为256字节。

...

我执行了这个: function getRealtime() {

var dataxxx;

$.ajax({

type: 'GET',

url: 'cpuload.php',

data: {

'get_server_load': 1

},

dataType: 'json',

async: false,

success: function(data)

...

您错误地分配了处理函数: xhr.onreadystatechange = handler; //

当您包括括号时,您要求调用该函数。 没有它们,你只是指功能,这就是你想要的。 You're assigning the handler function incorrectly: xhr.onreadystatechange = handler; //

...

ajax的readystate为3,为什么在做ajax时无法获得readyState 3(why can't get readyState 3 when doing a ajax)...相关推荐

  1. ajax回调函数有时成功有时失败,javascript - Ajax 回调函数行为随机。我做错了什么?...

    我有以下行为随机的 ajax 函数.有时会显示警报 success finally.在其他情况下,第二个警报是 显示 Failure: my status is 500. promptId 从调用函数 ...

  2. SAP QM初阶事务代码QA11对检验批做UD时出现很多UD Code的选择集?

    SAP QM初阶事务代码QA11对检验批做UD时出现很多UD Code的选择集? 1,检验批890000000105,检验类型是89,它是一个使用QA01创建的检验批. 2, 执行事务代码QA11对该 ...

  3. 选择之后触_如果有朋友在做选择时左右为难,我应该该给出什么样的建议

    作者:co "追逐梦想还是做出现实的选择 站在这个分岔路口的人好像有很多 我也经历过这样的事 这种时候我的选择每每都是 做出不会让自己后悔的选择吧 我最讨厌的词就是后悔" --BT ...

  4. js做四则运算时,精度丢失问题及解决方法

    js做四则运算时,精度丢失问题及解决方法 参考文章: (1)js做四则运算时,精度丢失问题及解决方法 (2)https://www.cnblogs.com/smile-tianxia/p/117149 ...

  5. 做数据分析时注意事项

    数据规模越大,分析结果的精确度就越高,千万亿.甚至百亿亿字节量级的数据所能分析出的结果相对精准.但如果数据不够大,很多数据挖掘和预测工作就没有办法进行.那么做数据分析时需要注意哪些问题? 1.分析消除 ...

  6. C51实现时钟12MHz,使用定时器T1的方式1定时20mS ,做一个时分秒的电子钟。

    /***************************************************** *任务要求 *1.时钟12MHz,使用定时器T1的方式1定时20mS: *2.对20mS计 ...

  7. 做股权激励时,要不要进行绩效考核

    导读: 现在很多企业都在推行股权激励,无论是内部自己推动还是找外部专业机构设计,当长期讨论沟通形成的一套科学方案面临落地时,老板们最关心也是最现实的一个问题就摆在眼前:股权激励,要不要和公司的绩效考核 ...

  8. linux异常(九):Linux虚拟机启动异常/打不开 位-000005.vmdk”或它所依赖的某个快照磁盘 | 做映射时提示:读取卷信息时出错 请选择其他磁盘文件

    前言 虚拟机被转移到另一台电脑使用,或者非正常关闭,都可能导致这个错误. 究其原因: 虚拟磁盘(.vmdk)本身有一个磁盘保护机制,为了防止多台虚拟机同时访问同一个虚拟磁盘(.vmdk)带来的数据丢失 ...

  9. 177本名著浓缩成了177句话!别等自己做错时才明白

    .真正有气质的淑女,从不炫耀她所拥有的一切,她不告诉人她读过什么书,去过什么地方,有多少件衣服,买过什么珠宝,因为她没有自卑感.<圆舞> 2.如此情深,却难以启齿.原来你若真爱一个人,内心 ...

  10. 177本名著浓缩成了177句话!别等自己做错时才明

    1.真正有气质的淑女,从不炫耀她所拥有的一切,她不告诉人她读过什么书,去过什么地方,有多少件衣服,买过什么珠宝,因为她没有自卑感.<圆舞> 2.如此情深,却难以启齿.原来你若真爱一个人,内 ...

最新文章

  1. 热加载和热部署,没听过?看看 Tomcat 是怎么实现的
  2. matplotlib多个饼状图
  3. python字典get计数_python字典中的get方法与setdefault方法
  4. 【组合数学】非降路径问题 ( 非降路径问题概要说明 | 非降路径问题基本模型 | 非降路径问题拓展模型 1 非原点起点 | 非降路径问题拓展模型 2 有途经点 )
  5. java中File类应用:遍历文件夹下所有文件
  6. 使用Idea创建SpringCloud父子工程
  7. 新视野教育计算机题库,校园网.新视野教育计算机等级考试《二级公共基础》课后习题答案...
  8. JAVASCRIPT校验大全
  9. C语言常用13种算法附源码
  10. 淘宝商品库MySQL优化实践的学习
  11. webpack超详细配置
  12. php类中双冒号和-的区别
  13. bvp解算器是什么_对数小史,以及为什么ln x的导数是1/x
  14. visual studio2013 php
  15. 高质量的用户体验 推进IT运维向业务服务转变——中国移动通信集团公司
  16. visualbox 网页服务器,无法看到VirtualBox NGINX站点
  17. “双态IT”架构下的自动化运维
  18. 机器学习时代三大神器GBDT(MART)、XGBoost、LightGBM
  19. 2016.11.03回顾 more excel交换两列
  20. 浪潮华为,高端存储市场的双头之争

热门文章

  1. 思维模型 波士顿矩阵
  2. python入门指南阅读答案_第二章 _【Python入门指南】免费在线阅读 - 九六城堡小说论坛...
  3. yum升级mysql_3分钟,YUM升级MYSQL,5.1到5.6
  4. 通常在计算机中连接硬盘驱动器的接口为,解决方案:如何在Win10系统中向计算机添加硬盘驱动器...
  5. 科学计算机r系数的操作,相关系数,确定系数(R^2)计算公式与在线计算器_三贝计算网_23bei.com...
  6. iOS 支付宝授权登录,思路
  7. word2019目录、插图清单、表格清单目录生成的最佳实践
  8. 论文阅读:Seraph: Enabling Cross-Platform Security Analysis For EVM and WASM Smart Contracts
  9. 计算机组成原理课程设计_微程序控制的简单模型机设计
  10. 计算机无法备份,win7不能备份系统如何解决?win7不能备份系统的解决方法