首頁  >  問答  >  主體

javascript - ajax请求属性readyState状态判断的不同写法!?

readyState有五种可能的值:
0 (未初始化): (XMLHttpRequest)对象已经创建,但还没有调用open()方法。
1 (载入):已经调用open() 方法,但尚未发送请求。
2 (载入完成): 请求已经发送完成。
3 (交互):可以接收到部分响应数据。
4 (完成):已经接收到了全部数据,并且连接已经关闭。

写法1:

//回调函数内部代码片段
if (xmlHttp.readyState==4)
{
var span = document.createElement(“span”);
span.innerHTML = states[xmlHttp.readyState];
document.body.appendChild(span); 

if (xmlHttp.status == 200)
{
var xmldoc = xmlHttp.responseXML;
//其他代码
} 

写法2:

if(script.readyState === 'loaded' || script.readyState === 'complete') {
                console.log('IE');
                callback();
            }

为什么readyState可以等于一个字符串去判断状态,哪里有这样的解释可以这样写的?

PHP中文网PHP中文网2771 天前390

全部回覆(2)我來回復

  • 高洛峰

    高洛峰2017-04-11 11:46:16

    后面的是动态script吧。见传送门

    回覆
    0
  • 黄舟

    黄舟2017-04-11 11:46:16

    因为前者是 XHR,后者是 DOM 对象。documentreadyState也是字符串。

    回覆
    0
  • 取消回覆