我遇到的问题是我的AJAX代码没有通过onreadtstate。 if(XMLHttpRequestObject)工作正常,但另一部分没有。代码如下:
enter code here function
//Get the Ajax Object
getXmlHttpRequestObject() {
if (window.XMLHttpRequest && !(window.ActiveXObject)) {
XMLHttpRequestObject= new XMLHttpRequest();
return XMLHttpRequestObject;
}
else if (window.ActiveXObject) {
try{
XMLHttpRequestObject=new ActiveXObject("Msxml2.XMLHTTP");
return XMLHttpRequestObject;
}catch(exception1){
try{
XMLHttpRequestObject= new ActiveXObject("Microsoft.XMLHTTP");
return XMLHttpRequestObject;
}catch(exception2){
}//end exception 2
}//end exception 1
}//end if else
else{
document.getElementById('ajax_status').innerHTML='Status: Cound not create XmlHttpRequest Object.' +
'Consider upgrading your browser.';
}
}//end function getXmlHttpRequestObject() {
function loadJavascript( src, url ){
XMLHttpRequestObject=getXmlHttpRequestObject();
if( XMLHttpRequestObject){
//an alert will work here
XMLHttpRequestObject.onreadystatechange = function()
{
alert("Here");
//Nothing at this pint works
if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
includeJavaScript( sId, url, oXmlHttp.responseText );
}
}
}
}//end LoadJavaScript
有没有人知道会出现什么问题?
答案 0 :(得分:3)
您永远不会发送您的请求。在您调用open()
和send()
之前,XMLHttpRequest不会执行任何操作。
此外,在声明时,请不要忘记使用var
为您的本地变量添加前缀。否则它们将被创建为全球性的,并且可能会发生令人讨厌的事情。