1.功能逻辑.一个是判断加载情况,一个是服务器响应情况,两个逻辑功能的判断,分开来条理清晰,职责清晰 2.减少判断次数,这里一般跟踪的是readysatus变化情况(onreadystatuschange),而服务器状态用status不会变化这么频繁,如果做判断的话由于是&,每次readystatuschange时候必须判断两次条件readyState status 能不能说细腻一点

解决方案 »

  1.   

    readyState status 
    究竟在谁在干什么
      

  2.   

    每次XMLHttpRequest的状态发生变化,事件“onreadystatechange”就会被触发。通过使用“xmlObj.onreadystatechange = function(){...}”我们能够创建一个函数并让它在这个XMLHttpRequest对象的状态每次发生改变的时候立刻运行。这里总共有五个状态,由0走到4。  0 – 尚未初始化(在这个XMLHttpRequest开始前)  1 – 加载(XMLHttpRequest初始化一结束)  2 – 加载结束(XMLHttpRequest一从服务器上获得一个回应)  3 – 交互(当XMLHttpRequest对象和服务器连接中)  4 – 结束(当XMLHttpRequest被告知它已经完成了所有人物并结束运行)
      

  3.   

    status表示服务器返回的状态,比如,200时成功,404是找不到页面,500服务器错误 
      

  4.   

    xmlHttp.status == 200呢?
      

  5.   

    readystatus 4种状态0 表示 数据未初始化
    1 表示 数据正在载入
    2 表示 数据载入完成
    3 表示 数据部分可用
    4 表示 数据OK然后程序里会利用onreadystatechange回调函数来跟踪这个情况status 是服务器状态 一般200是OK,400-500是客户端问题,500多是服务器端问题是两种不同的功能逻辑好了,进入正题,假设你在一个if判断里写了,如果判断失败(加载失败或者服务器问题等),我让你分析引起状况的原因,是否不如分开写的时候容易跟踪?又或是我需要在完成载入(readystatus==2)的时候做点事情,比如写入log,写在一个if里的是不是就不容易扩展?各司其则,每个功能逻辑对应自己的判断,减少耦合性