开发者

XMLHttpRequest.open is not a function

I've been trying to get my code off the ground, but I've run into a constantly occurring error across all browsers that tells me my ajax object does not include an open function. I'm sure something I've typed is wrong, but forgive me, as JavaScript is not my strong suit :)

window.onload = function(){init();}开发者_JAVA技巧

function init() {
    ajax = ajaxInit();
    ajax.onreadystatechange = update(ajax);
    ajaxContact(ajax);
    setInterval("ajaxContact('"+ajax+"')",5000);
}

function ajaxInit() {
    if (window.XMLHttpRequest) {
      ajax = new XMLHttpRequest();
    }
    else {
        if (window.ActiveXObject) {
              ajax = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    if (ajax) {
        document.getElementById("status").innerHTML = "AJAX initialized";
        return ajax;
    }
    else {
        docuement.getElementById("status").innerHTML = "Error: AJAX not available";
        return false;
    }

}

function ajaxContact(ajax) {

    try {
        ajax.open("GET","updateAjax.php?" + "ran=" + Math.random(),true);
        ajax.send();
    }
    catch (err) {
        alert(err.message);
        document.getElementById("status").innerHTML = "Error contacting server";
        document.getElementById("loading").src = "images/redx.png";
    }
}

function update(ajax) {
      if (ajax.readyState==4 && ajax.status==200){
          dataObj = jsonTranslate(ajax);
          document.getElementById("status").innerHTML = dataObj.status;
          document.getElementById("frame").innerHTML =
          "Frame:" + dataObj.firstFrame + "/" + dataObj.lastFrame;
          document.getElementById("thumbnail").src = dataObj.imgSrc;

      }
      if (ajax.status==404) {
          document.getElementById("status").innerHTML = "Ajax updater not found";
          document.getElementById("loading").src = "images/redx.png";
      }
}

function jsonTranslate(ajax) {
    return eval('(' + ajax.responseText + ')');
} 


You are passing the ajax variable as a string...

setInterval("ajaxContact('"+ajax+"')",5000);

Try replacing that with...

setInterval(function() { ajaxContact(ajax); }, 5000);
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜