今天调了一天的错误,非常郁闷,直到晚上才发现,原来是页面中定义的XMLHttpRequest对象是个全局对象,但有两个ajax调用都引用了它,每隔几分钟就会出现问题,还是莫名其妙的问题,我以为是数据解析有问题或后台问题,调啊调,结果是两个ajax调用,第二个调用了同一个request,也就是覆盖了第一个的,害得第一个偶尔会得到第二个的值,导致解析出错.......
以后每个ajax调用一定不要用全局的变量保存request.而是临时生成,然后将request绑定它的到处理上.
function test(){ var temp_request = createXMLHttpRequest(); deal_change.request = temp_request; temp_request.onreadystatechange=deal_change; temp_request.open("GET",url,true); temp_request.setRequestHeader("If-Modified-Since","0"); //不缓存Ajax temp_request.send(null); } function deal_change() { var rStr; try{ if(deal_change.request.readyState==4)\\ 通过deal_change.request引用调用它的request { if(deal_change.request.status==200) { rStr = trim(deal_change.request.responseText); ................... }}} 切记切记. 当然若使用 框架就不用这么麻烦了.