XMLHttpRequest立即遍历最后三个readyStates

时间:2013-05-17 09:14:41

标签: php javascript ajax xmlhttprequest

我正在尝试编写一个测试XMLHttpRequest的代码来检查不同类型的readyState值。根据{{​​3}},有五个可能的连续状态。我已经构建了一个PHP代码,强制在每个状态之间暂停:

<?php

// Build the json
$msg = json_encode(array(
    'status' => 0,
    'msg' => 'Lorem ipsum dillum sit amet')
);

// Divide the message in two parts
$msgLen = strlen($msg);
$h1 = $msgLen / 2;
$h2 = $msgLen - $h1;

// Wait, then send the headers
sleep(1);
header('Content-type: application/json');
flush();

// Wait, the send the first part
sleep(1);
echo substr($msg, 0, $h1);
flush();

// Wait, the send the second part
sleep(1);
echo substr($msg, $h2);

问题是它似乎不起作用。请求立即从1 - OPENED到4 - DONE,而不是在每个州之间暂停。

此外,还有两件奇怪的事情发生了:

  • 在Firefox和IE中,readyState 1 - OPENED被触发两次。
  • 在IE10中,发送标题时确实有暂停,但内容的两个部分之间没有暂停。

0 个答案:

没有答案