请问我的xmlHttp.readyState为何没有值??
<script>
function createXmlHttp()
{
var A=null;
try
{
A=new ActiveXObject("Msxml2.XMLHTTP")
}catch(e)
{
try
{
A=new ActiveXObject("Microsoft.XMLHTTP")
}catch(oc)
{
A=null
}
}
if( !A && typeof XMLHttpRequest != "undefined" )
{
A=new XMLHttpRequest()
}
return A
}
function complete()
{
alert(xmlHttp.readyState); if((xmlHttp.readyState == 4) && (xmlHttp.status == 200))
{
alert('aaaa');
var middlename=xml.responseXML.getElementsByTagName("tname");
var middleid=xml.responseXML.getElementsByTagName("tid");
var mname=new Array();
var mid=new Array();
for(var i=0;i<middlename.length;i++)
{
mname[i]=middlename[i].firstChild.data;
mid[i]=middleid[i].firstChild.data;
}
if(Type!=middle.value)
{
for(child in middle.options)
{
middle.remove(child);
}
}
for(child in small.options)
{
small.remove(child);
}
for(i=0;i<mid.length;i++)
{
op=document.createElement("option");
middle.options.add(op);
op.innerHTML=mname[i];
op.value=mid[i];
}
}
}
function getType(a)
{
var Type = a.value;
var middle = document.getElementById('middle');
var small = document.getElementById('small');
var xmlHttp = createXmlHttp();
xmlHttp.onreadystatechange = complete;
xmlHttp.open('GET','<%=request.getContextPath() %>'+'/do/getType?action=findMiddleByBig&Type='+Type,true);
xmlHttp.send();
}
</script>
以上代码中红的那句alert(xmlHttp.readyState)什么也弹不出来,但后台的ACTION己经执行了,值也获得了。
为什么呢?
------解决方案--------------------
Sorry !
上面错了。
你的A 不是全局的.
xmlHttp 也不知怎么来的
这样改把。
<script>
var xmlHttp;
function createXmlHttp()
{
var A=null;
try
{
A=new ActiveXObject("Msxml2.XMLHTTP")
}catch(e)
{
try
{
A=new ActiveXObject("Microsoft.XMLHTTP")
}catch(oc)
{
A=null
}
}
if( !A && typeof XMLHttpRequest != "undefined" )
{
A=new XMLHttpRequest()
}
xmlHttp = A;
return A
}
试试把。......