当前位置: 代码迷 >> Ajax >> ajax 为啥连续执行两次request,只返回了第二次的结果
  详细解决方案

ajax 为啥连续执行两次request,只返回了第二次的结果

热度:787   发布时间:2013-07-04 11:45:51.0
ajax 为什么连续执行两次request,只返回了第二次的结果
 doAjax(url1, np_id, cate, folder);
 doAjax(url2, ap_id, cate, folder);

两次执行的request url不同,参数也不同,返回response接受的div也不同,但是执行完成后,onreadystatechange 只执行了一次,就是第二个url,请问怎么才能两次都执行,不同的response返回到不同的div里

------解决方案--------------------
创建不同的ajax实例,不要用同一个ajax对象,同一个对象IE只返回最后一个请求,firefox会出错
firefox下XMLHttpRequest重用时nsIXMLHttpRequest.send发生错误的解决方案
------解决方案--------------------
这个doAjax的设置应该是异步的。如果设是非异步方式,就可以执行完第一个再执行第二个了。
另一种方式是在异步的AJAX里面的返回完成事件中发起下一次的请求,这个需要修改结构,建立一个任务堆栈机制。
------解决方案--------------------
同上.
------解决方案--------------------
引用:
这个doAjax的设置应该是异步的。如果设是非异步方式,就可以执行完第一个再执行第二个了。
另一种方式是在异步的AJAX里面的返回完成事件中发起下一次的请求,这个需要修改结构,建立一个任务堆栈机制。

+1.建议在第一次ajax返回值时执行下一次请求。否则ajax改成同步,这真是情非得已的办法
------解决方案--------------------
doAjax里面的xmlhttprequest对象,不要采用全局变量
------解决方案--------------------
棂上说的对,如果你采用全局的xmlHttpRequest对象,就会这样的。
------解决方案--------------------
我也遇到了这个问题。请问你解决了么
------解决方案--------------------
第一个里面加上:async:false
  相关解决方案