Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么在执行ajax时无法获取readyState 3_Javascript_Ajax - Fatal编程技术网

Javascript 为什么在执行ajax时无法获取readyState 3

Javascript 为什么在执行ajax时无法获取readyState 3,javascript,ajax,Javascript,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(); 我从控制台

我从书中读到,如果我从服务器请求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不退出,为什么会发生这种情况?
请帮我谢谢你~

你的有效载荷很小,所以RS3通过得很快,响应为空

和/或

假设您使用的是Chrome,您的响应在Chrome中返回NULL,因为webkit浏览器使用RS3就是这样做的

尝试设置

Content-type: text/xml
此外,在Chrome的RS3中,除了NULL之外,您还需要推送至少1k的数据才能发送任何响应,尽管官方阈值为256b,但这并不正确,Chrome在渲染1k+之前不会开始发送

这基本上适用于所有webkit浏览器

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