本帖最后由 loshu2003 于 2013-09-05 15:00:52 编辑

解决方案 »

  1.   

    A、B、C
    比如B请求的responseTime和C请求的requestTime?
      

  2.   

    requestTime会比responseTime小 不会吧,最多相等
      

  3.   

    就是A的responseTime比A的requestTime小,不知道那有问题
      

  4.   

    有可能 request 比 response小
    参考的节点:
    1、请求的时候 带的cookie比较大,比如超过2k,或者 提交的表单内容比较丰富有几M甚至更大
    2、请求的时候 查询dns花费的时间过长
    3、请求到达服务器的时候服务器阻塞ing,有等待对应的:
    1、response输出的内容为空,或者很只有一个成功与否的标记
    2、dns建立之后,response是没有这个阶段的
    3、虽然请求被阻塞,但是一旦阻塞消失,response的内容并不多,立即就返回了
      

  5.   

    你的 onreadystatechange 这个事件,在每次open后又重新注册了
    if(autoXMLHttp != null)
                {
                    autoXMLHttp.open(METHOD, TESTING_URL, true);
                    autoXMLHttp.onreadystatechange = function(){}可能有影响,你试试写成
    if(!autoXMLHttp.onreadystatechange)
    autoXMLHttp.onreadystatechange = function(){}
      

  6.   

    认真看了一遍,大概知道是什么原因了requestTime = new Date();, responseTime = new Date(); 都没有加 var  是全局的 
    并且   onreadystatechange 事件里只能取到一个requestTime 值状态,事件又是异步的所以产生了交错
      

  7.   

    似乎是这个道理,但是我把requestTime和responseTime都改成局部变量,还是一样的结果
      

  8.   

    似乎是这个道理,但是我把requestTime和responseTime都改成局部变量,还是一样的结果
    并且   onreadystatechange 事件里只能取到一个requestTime 值状态 ,因为是同个做用域 ,只能取到一个requestTime 值状态
      

  9.   

    后来仔细检查了,这个代码的逻辑没有问题,是我的autoCreateHistory中对requestTime和responseTime的处理时,毫秒只处理了2位数,处理到第3位就没有问题了,多谢各位的回答,谢谢