所以我在隔离问题之前发布了这篇文章,并认为我会在隔离问题的情况下发布,这发生在这两个函数之间。当我更新State时,它会调用getCity函数,这似乎很好。呼叫正在进行。
<script type="text/javascript">
function getXMLHTTP() {
var ret = false;
try {
x = new XMLHttpRequest();
}catch(e) {
try {
x = new ActiveXObject("Microsoft.XMLHTTP");
}catch(ex) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e1) {
x = false;
}
}
}
return x;
}
function getCity(stateId)
{
var strURL="findCity.php?state="+stateId;
var req = getXMLHTTP();
if (req)
{
req.onreadystatechange = function()
{
if (req.readyState == 4) // only if "OK"
{
if (req.status == 200)
{
document.getElementById('citydiv').innerHTML=req.responseText;
} else {
alert("There was a problem while using XMLHTTP:'n" + req.statusText);//This Is the statement I am getting
}
}
}
req.open("GET", strURL, true);
req.send(null);
}
}
因此,调用发生在两个函数上,但是getXMLHTTP返回给getCity的对象有一个statusText变量not found。这意味着没有其他条件适用于它
我在这里和其他地方或这个问题上看了很多遍,但都到了死胡同,我甚至看了w3c的对象文档,但至少可以说,它很简短,是什么导致了这个问题。
基于此页面:http://msdn.microsoft.com/en-us/library/windows/desktop/ms759127(v=vs.85).aspx看起来statusText属性直到MSXML3才在MSXML API中实现。由于您调用的是MSXML2 API,我想这就是您的错误的来源。这个问题是否孤立于特定的浏览器或平台?
顺便说一句,dottoro是一个查找此类文档的好网站:http://help.dottoro.com/ljtutikf.php#supByObj