日期:2014-05-18  浏览次数:20467 次

大家帮忙,看我这样写为什么不能得到正确结果?
代码是没有问题的,部分代码已经省略:
var   XmlHttp=new   ActiveXObject( "Microsoft.XMLHTTP ");
function   AjaxRequest(url,tag)
{
        if   (tag== "1 ")
        {
                      xmlhttp.onreadystatechange   =   Contents;
        }  
        if   (tag== "2 ")
        {
                      xmlhttp.onreadystatechange=BackList;
        }
          xmlhttp.open( 'GET ',   url,   true);
          xmlhttp.send(null);
}
function   Contents()   {docutment....}
function   BackList()   {docutment....}

<form> .....
<div> <script> AjaxRequest(url,1) </script> </div>
<div> <script> AjaxRequest(url,2) </script> </div>
问题:只有第二个div里的数据正确显示,如果第一个div和第二个div交换,也还是第二个div里正确显示了。是什么原因?

------解决方案--------------------
if (tag==1)

not

if (tag== "1 ")
------解决方案--------------------
用alert看一下if语句是否达到了你的想法
if (tag== "1 ")
{
alert( "1 ");
xmlhttp.onreadystatechange = Contents;
}
if (tag== "2 ")
{
alert( "2 ");
xmlhttp.onreadystatechange=BackList;
}
------解决方案--------------------
楼主你的tag是什么类型数据?如果是整形的,那么if中的应该是tag==1
------解决方案--------------------
对。。有可能 加个setTimeout
------解决方案--------------------
你的两个DIV是不是在一个地方?
我怀疑是不是第二个DIV覆盖了第一个。实际上两个都显示出来的。呵