逝者如风
2017-02-13 09:22
采纳率: 30.8%
浏览 872

ajax新手求助,关于xmlHttp.readyState的问题

1.xmlHttp.onreadystatechange=function(){}
2.xmlHttp.send(null);
关于这两段代码,如果换一下顺序对程序有什么影响,因为换了顺序后,我发现程序也执行成功了,但网上的例子都是按照上面的顺序来写的

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • little_how 2017-02-13 09:35
    已采纳

    你的第一个是监控ajax状态的,第二个是真正发送请求;
    你改变顺序也能成功是因为发送的过程中,ajax状态的改变才会触发第一个;
    所以能监控到,但是最好还是按照先配置监控状态改变函数,再进行发送;
    因为,谁也不知道,什么时候浏览器就变成多线程了,那样可能就会丢失状态的监控哦;

    如果有帮助,希望采纳...

    点赞 打赏 评论
  • blownewbee 2017-02-13 10:18

    因为send是异步执行的,而send收到返回需要时间,两者颠倒,xmlHttp.onreadystatechange=function(){}来得及在真正被触发前调用,所以“绝大部分情况下”也能实现你说的功能。
    但是写程序就应该保证代码在逻辑上万无一失,而不是靠运气。所以严格地说,在你send前就应该把onreadystatechange设置好。

    点赞 打赏 评论

相关推荐 更多相似问题